กระทู้เก่าบอร์ด อ.Yeadram
1,132 6
URL.หัวข้อ /
URL
นับจำนวนในแต่ละวันที่ ได้ไหมครับ
จากภาพเลยครับ : ผมทำการเลือกข้อมูลในวันที่ 25 เม.ย. ข้อมูลถูกต้อง เลือกวันที่ 26 เม.ย. ข้อมูลก็นับถูกต้อง แต่พอมาเลือกรวมกัน 2 วัน ปรากฎว่ามันนับรวมทั้งหมดครับ กรณีนี้สามารถนับแยกในแต่ละวันได้ไหมครับ
ขอบคุณครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R15801
ผมใช้งานในรูปแบบ SQL นะครับ โดยเงื่อนไขการนับมาจาก พารามิเตอร์ที่รับเข้ามาอีกทีครับ แล้วใช้เงื่อนไขในการเช็คว่าเป็นเลือดกรุ๊ปใด
ถ้ามีข้อแนะนำรบกวนบอกด้วยครับ ขอบคุณครับ
ผมใช้งานในรูปแบบ SQL นะครับ โดยเงื่อนไขการนับมาจาก พารามิเตอร์ที่รับเข้ามาอีกทีครับ แล้วใช้เงื่อนไขในการเช็คว่าเป็นเลือดกรุ๊ปใด
ถ้ามีข้อแนะนำรบกวนบอกด้วยครับ ขอบคุณครับ
3 @R15802
รูปไม่ชัดขออภัยครับ ลงเป็น Link แทน
http://image.ohozaa.com/view2/wNhtxEO1Ou4vyKdx
http://image.ohozaa.com/view2/wNhtxEO1Ou4vyKdx
4 @R15814
ผมยังไม่เก่งขนาด ดูข้อมูลแค่นี้แล้วตอบได้ถูกเลยนะครับ
แต่ผมสังเกตุเห็นว่า ใน แต่ละ กรุปเลือด ไม่ควรเลือกเป็น ช่วง ควรเลือกเป็นวัน
เพราะถ้าเลือกเป็นช่วง จะเป็นการ Count เป็นช่วง ทำให้ออกมาเหมือนกันหมด
ควรจะ WHERE History_Date ไปเลย มันจะได้นับค่าเป็นวันๆ
แต่ผมสังเกตุเห็นว่า ใน แต่ละ กรุปเลือด ไม่ควรเลือกเป็น ช่วง ควรเลือกเป็นวัน
เพราะถ้าเลือกเป็นช่วง จะเป็นการ Count เป็นช่วง ทำให้ออกมาเหมือนกันหมด
ควรจะ WHERE History_Date ไปเลย มันจะได้นับค่าเป็นวันๆ
5 @R15820
ลักษณะที่คุณต้องการน่าจะใช้การ Crosstab มากกว่านะครับ การใช้ Subquery แล้วกำหนดผมรวมเป็น Expression ในช่อง A, B, O, AB มันจะคืนค่าเป็นค่าเดียวทุกเรคคอร์ดอยู่แล้วครับ หากผมตีโจทย์ไม่ผิดผมว่าคุณควรลองทำด้วย Crosstab Query มากกว่านะ
6 @R15822
ผมลองเขียนเป็นตัวอย่างโดยอ้างจากชื่อในรูปที่คุณโพสมาให้ดูเป็นแนวทางนะครับ อาจถูกหรือไม่ถูกอย่างไร แต่หลักๆจะเขียนประมาณนี้ครับ ในความคิดผมนะ
- ลองสร้างคิวรี่เปล่าๆขึ้นมาใหม่ ใส่โค๊ดนี้ลงใน SQL:
ลองปรับใช้ดู
ปล. การทำ Crosstab หากคุณกรองข้อมูลระหว่างวัน ถึง วันที่ หากฟิลด์ Donnor_Group ไม่มีค่าจะไม่แสดงฟิดล์นั้นเลย คือจะแสดงเฉพาะฟิดล์ที่มีค่าเท่านั้น
- ลองสร้างคิวรี่เปล่าๆขึ้นมาใหม่ ใส่โค๊ดนี้ลงใน SQL:
PARAMETERS FromDate DateTime, ToDate DateTime;
TRANSFORM Count(T.Donor_ID) AS CountOfDonor_ID
SELECT T.History_Date, Count(T.Donor_ID) AS Total
FROM (SELECT History.History_Date, Donor.Donor_Group, History.Donor_ID FROM Donor RIGHT JOIN History ON Donor.Donor_ID = History.Donor_ID) AS T
WHERE T.History_Date Between FromDate And ToDate
GROUP BY T.History_Date
PIVOT T.Donor_Group;
ลองปรับใช้ดู
ปล. การทำ Crosstab หากคุณกรองข้อมูลระหว่างวัน ถึง วันที่ หากฟิลด์ Donnor_Group ไม่มีค่าจะไม่แสดงฟิดล์นั้นเลย คือจะแสดงเฉพาะฟิดล์ที่มีค่าเท่านั้น
Time: 0.2280s
หรือ ลองไม่ให้โชว์วันที่ โดยใช้ WHERE