สอบถามการQuery คำนวนค่า


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

19 เม.ย. 61 , 13:39:09
ตอบกลับ #16

Earth

> สอบถามการQuery คำนวนค่า
« ตอบกลับ #16 เมื่อ: 19 เม.ย. 61 , 13:39:09 »
หนูเอาQueryที่ได้มา make table ใหม่ค่ะ เพราะข้อมูลแสดงช้ามาก
พอนำมาmake table ใหม่ ก็แสดงผลitem ตามวันที่และเดือนภาษาอังกฤษปกติ
แต่พอนำtableที่make ใหม่ มาสร้าง query อีกทีเพื่อไปใช้ต่อ วันที่เดือนกลับไม่เรียงเหมือนเดิมค่ะ

อยากทราบว่า สามารถนำโค้ดที่อาจารย์ทำ มาเพิ่มตรงส่วนไหนของsqlนี้คะ

SELECT Monthly_FG.Type2, Monthly_FG.[GR/GI], Monthly_FG.[m^2], Monthly_FG.[m^3], Monthly_FG.Stack, Monthly_FG.[U Price_1 m^2], Monthly_FG.[U Price_2 m^3], Monthly_FG.Date, Sum(Monthly_FG.Received) AS SumOfReceived, Sum(Monthly_FG.Shipment) AS SumOfShipment, Monthly_FG.[IN TOTAL (m3)], Monthly_FG.[OUT TOTAL (m3)], Sum(Monthly_FG.[Good Receive]) AS [SumOfGood Receive], Sum(Monthly_FG.[Good Issue]) AS [SumOfGood Issue]

FROM Monthly_FG

GROUP BY Monthly_FG.Type2, Monthly_FG.[GR/GI], Monthly_FG.[m^2], Monthly_FG.[m^3], Monthly_FG.Stack, Monthly_FG.[U Price_1 m^2], Monthly_FG.[U Price_2 m^3], Monthly_FG.Date, Monthly_FG.[IN TOTAL (m3)], Monthly_FG.[OUT TOTAL (m3)];



ต้องการให้ Order by Date และType2 ค่ะ โดยเรียงวันเดือนตามรูปแบบ 1-Feb> ..... 2-Mar

 

19 เม.ย. 61 , 14:53:29
ตอบกลับ #17

สันติสุข

> สอบถามการQuery คำนวนค่า
« ตอบกลับ #17 เมื่อ: 19 เม.ย. 61 , 14:53:29 »
อ่านแล้วไม่เข้าใจเลยครับ

1. หนูเอาQueryที่ได้มา...  คิวรี่ไหน
2. เพราะข้อมูลแสดงช้ามาก ... น่าเป็นเพราะเทเบิลไม่ได้สร้าง index ซึ่งประกอบด้วยฟิลด์ที่อยู่ใน WHERE ครับ
3. อยากทราบว่า สามารถนำโค้ดที่อาจารย์ทำ มาเพิ่มตรงส่วนไหนของsqlนี้คะ  ... ไม่เข้าใจว่าที่ผมตอบไปก่อนหน้า โค้ดอะไรตรงส่วนไหนที่สัมพันธ์กับคิวรี่ที่เขียนมาใหม่นี้
4. ต้องการให้ Order by Date และType2 ค่ะ โดยเรียงวันเดือนตามรูปแบบ 1-Feb> ..... 2-Mar ... ก็สั่ง ORDER BY Monthly_FG.Date,  Monthly_FG.Type2 เท่านั้นครับ แต่ฟิลด์ Date ต้องมี Data Type เป็น DATE ครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

19 เม.ย. 61 , 15:21:09
ตอบกลับ #18

Earth

> สอบถามการQuery คำนวนค่า
« ตอบกลับ #18 เมื่อ: 19 เม.ย. 61 , 15:21:09 »
Query ที่ได้มาหน้าตาเป็นแบบนี้ค่ะ

โดยใส่คำสั่งเรียงวันที่ตามโค้ดที่อาจารย์ได้ให้คือ

คุณไปลองทดสอบดูผลลัพธ์นะครับว่าถูกต้องหรือไม่

ที่ตำแหน่งสีแดง เราเปลี่ยนแหล่งข้อมูลจากเทเบิล T ธรรมดาๆที่เรียกในชื่อ T1  มาเป็น T ที่เพิ่มฟิลด์วันที่น้อยที่สุดของสินค้าตัวเดียวกันโดยเรียกชื่อว่า MinD และเรียกรวมทั้งหมดเป็น T1 เหมือนเดิม

ส่วนการจัดเรียงในตำแหน่งสีฟ้า ก็แทรก MinD เข้าเป็นฟิลด์แรกสุดของ Ordered By ของเดิมครับ

SELECT T1.BFQty
+(select nz(sum(T2.InQty),0) from T as T2 where T2.ItemCD = T1.ItemCD and T2.D <= T1.D)
-(select nz(sum(T2.OutQty),0) from T as T2 where T2.ItemCD = T1.ItemCD and T2.D < T1.D) AS TotalQty, *
FROM (SELECT T2.*, (SELECT MIN(T3.D) FROM T AS T3 WHERE T3.ItemCD = T2.ItemCD) as MinD FROM T AS T2) AS T1
ORDER BY T1.MinD, T1.ItemCD, T1.D;



จากนั้นหนูเลยเอาQuery นี้ไปMake tableใหม่ค่ะ ชื่อTable Monthly_FG

เปิดตารางดูเป็นแบบด้านล่างคือเรียงวันที่ 2-Marไปอยุ่ท้ายเหมือนเดิม ถูกต้อง

แต่พอไปเปิดโครงสร้างTable Monthly_FG ที่ได้จาก Query make table ตรงDate มันเลยเปลี่ยนชนิดเป็นText

ทีนี่เลยจะเอาTable Monthly_FG  มาทำQueryกลับไม่เรียงค่ะ

ถ้าอย่างนี้ มีกรณีไหนที่ Date เป็นTextแล้วให้เรียงวันที่ตามเดือนได้ไหมคะ
หรือมีวิธีไหนที่ ตอน Query make table แล้วให้ Date เป็นชนิด Date/time เหมือนข้อมูลแรกไหมคะ






 

19 เม.ย. 61 , 17:07:21
ตอบกลับ #19

สันติสุข

> สอบถามการQuery คำนวนค่า
« ตอบกลับ #19 เมื่อ: 19 เม.ย. 61 , 17:07:21 »
หลักๆก็คือ อย่าเอาวันที่ที่ผ่าน Format$(  ) มาสร้างเป็นเทเบิล  ในคำตอบที่ #13 ที่บอกว่าคิวรี่ที่ 2 ให้ใส่ Format$( ) เราก็ไม่ต้องใส่ เพราะเราจะนำเอาคิวรี่นี้ไปสร้างเทเบิลอีกที  คุณก็เลือกฟิลด์วันที่ตรงๆไปใช้สร้างแทน ถ้าต้องการแสดง วว-ดดด ก็ให้ทำเมื่อจะแสดงผลลัพธ์จากคิวรี่สุดท้ายที่อ่านจากเทเบิลที่สร้างมาใหม่ครับ

« แก้ไขครั้งสุดท้าย: 19 เม.ย. 61 , 17:11:34 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

20 เม.ย. 61 , 10:21:04
ตอบกลับ #20

Earth

> สอบถามการQuery คำนวนค่า
« ตอบกลับ #20 เมื่อ: 20 เม.ย. 61 , 10:21:04 »
ขอบคุณมากค่ะ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย