 |
|
ควรจะเขียน query อย่างไรดีเนื่องจากไม่สามารถใช้ pivot ได้ |
|
 |
|
|
 |
 |
|
Code (VB.NET)
select product.product_id,order.order_date,sum(order.order_qty) as s_date
from product left outer join order on (product.product_id=order.order_id)
where order.order_date between 2/11/2553 and 6/11/2553
and order.order_id between 001 and 003
group by product.product_id,order.order_date,order.order_qty
script sql ที่ผมเขียนให้นั้น field วันที่จะไม่ได้ตามที่ต้องการนะครับ จะได้แค่ 3 field หลักคือ product.product_id,order.order_date,order.order_qty ส่วน field ที่เป็นวันที่ 2/11/2553 ถึง 6/11/2553 ผมสงใสครัว่าจะทำไปทำไมเพราะมันไม่เห็นจะ สัมพันกับข้อมูลที่เป็น field first order date
|
 |
 |
 |
 |
Date :
2010-12-09 10:13:45 |
By :
kanchen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณคุณ KanJi มากค่ะ field ที่เป็นวันที่ 2/11/2553 ถึง 6/11/2553 ที่ใส่ไปเพราะว่าอยากทราบว่าวันที่เท่าไหร่บ้างนอกจาก first order date ที่ลูกค้าได้สั่งซื้อ คือจะมีการใส่เงื่อนไขสำหรับค้นหาี่เป็นช่วงเวลาที่ผู้ใช้กำหนดโดยใส่เป็นเงื่อนไขในการค้นหา เพื่อที่อยากจะทราบว่ามีสินค้าอะไรบ้างที่ลูกค้าสั่งซื้อแล้วซื้อมากี่ครั้งแล้ว จำนวนเท่าไหร่ วันที่เท่าไหร่บ้าง ส่วน field first order date ไว้ดูว่าวันแรกที่ลูกค้าเริ่มสั่งซื้อสินค้าชนิดนั้นๆคือวันที่เท่าไหร่
|
 |
 |
 |
 |
Date :
2010-12-09 10:24:48 |
By :
tiggerOne |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
query นี้ค่อนข้างยากค่ะ ถามใครก็ยังไม่มีใครตอบได้ ดิฉันคิดมาสองสัปดาห์แล้วยังไม่ได้ ดิฉันลองทำโดยการแยกการ query โดย query ที่วันที่ 2/11/2553 ถึง 6/11/2553 แล้ว response write เป็นหัวตารางก่อน จากนั้น ก็ query เอา product_id กับ first order date มาresponse write เป็นตาราง แปะไว้ที่ด้านซ้าย แต่พอจะ query ลงผล order_qty นั้นลงไม่ตรงกับ product_id สักที รบกวนเพื่อนๆที่เคยทำแบบนี้ช่วยหน่อยนะคะ
|
 |
 |
 |
 |
Date :
2010-12-09 10:35:31 |
By :
tiggerOne |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าเป็นแบบนั้นก็ select order.order_date เพิ่มครับ แล้วไปจะดรูปแบบตามที่คุณต้องการ แล้วก็อย่าลืม group by order.order_date เพิ่มด้วยนะครับ แล้วก็เพิ่ม order by order.order_date ด้วยนะครับ
|
 |
 |
 |
 |
Date :
2010-12-09 10:36:48 |
By :
kanchen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อันนี้แก้ไขให้ใหม่ครับ
Code (VB.NET)
select product.product_id,order.order_date,sum(order.order_qty) as s_date,order.order_date
from product left outer join order on (product.product_id=order.order_id)
where order.order_date between 2/11/2553 and 6/11/2553
and order.order_id between 001 and 003
group by product.product_id,order.order_date,order.order_qty
order by product.product_id,order.order_date
|
 |
 |
 |
 |
Date :
2010-12-09 10:47:08 |
By :
kanchen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดิฉันลองเอา query ของคุณ kanji ไปรันดูติด error ฟ้องว่า syntax error in from clause
ตรง product left outer join order
|
 |
 |
 |
 |
Date :
2010-12-09 11:51:38 |
By :
tiggerOne |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ Informix ซะด้วย
เคยได้ยินแต่ชื่อ
ยังไม่เคยเห็นตัวเป็นๆ เลย
ไม่รู้ว่าชาตินี้จะได้เห็นรึเปล่า

|
 |
 |
 |
 |
Date :
2010-12-09 12:54:23 |
By :
หางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รอให้มั่วกันให้เบื่อก่อนนะ ไม่ได้ยังไงจะมาบอกอีกที
|
 |
 |
 |
 |
Date :
2010-12-09 13:30:47 |
By :
ตังค์แมน |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใกล้จะเบื่อแล้วคะ บอกเลยได้ไหมคะ คริๆๆๆๆ
|
 |
 |
 |
 |
Date :
2010-12-09 13:34:49 |
By :
tiggerOne |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เบื่อแล้วค่ะ รบกวนมาบอกหน่อยได้ไหม
|
 |
 |
 |
 |
Date :
2010-12-13 10:38:28 |
By :
tiggerOne |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|