Page 1 of 1

นับรหัสรายการที่กำหนดไว้

Posted: Tue May 07, 2019 9:40 pm
by Totem
:D เรียนอาจารย์และเพื่อนสมาชิก
การนับรายการในคอลัมน์ tables รหัส sheet1 โดยให้นับ D569
ได้กำหนดในไฟล์ไว้ดังนี้
Queries
a
a_detail

1.ผลที่แสดงออกมา นับใน a ที่ถูกต้องคือ 9 ครับ ต้องปรับใน a_detail อย่างไรครับ

2.ถ้าหากให้นับ D569 และ E785 อยู่ในบรรทัดเดียวกันให้นับเป็น 1 ในที่นี้ นับใน a ที่ถูกต้องคือ 2

ตัวอย่าง ตำแหน่งของรหัสรายการในแต่ละแถวอาจจะสลับกันไปมาหรือในแต่ละแถวอาจมีรายการน้อยกว่าหรือมากกว่านี้ได้ครับ

ขอบคุณครับ
นับรหัส.rar

Re: นับรหัสรายการที่กำหนดไว้

Posted: Tue May 07, 2019 10:26 pm
by snasui
:D ตัวอย่าง Query ครับ

Code: Select all

SELECT sheet1.[รหัส] AS รหัส
FROM sheet1
WHERE (((InStr(1,[รหัส],"D569"))>0) AND ((InStr(1,[รหัส],"E785"))>0))
GROUP BY sheet1.[รหัส];

Re: นับรหัสรายการที่กำหนดไว้

Posted: Tue May 07, 2019 11:42 pm
by Totem
snasui wrote: Tue May 07, 2019 10:26 pm :D ตัวอย่าง Query ครับ

Code: Select all

SELECT sheet1.[รหัส] AS รหัส
FROM sheet1
WHERE (((InStr(1,[รหัส],"D569"))>0) AND ((InStr(1,[รหัส],"E785"))>0))
GROUP BY sheet1.[รหัส];
:D ปรับสูตรแล้วใช้ได้ครับ
แต่กรณี a_detail
SELECT sheet1.รหัส AS รหัส
FROM sheet1
WHERE (((InStr(1,[รหัส],"D569"))>0))
GROUP BY sheet1.รหัส;
เลือกรหัสรายการเดียว "D569"
ได้ผลลัพธ์
รหัส
A165, M7501, D569
A419, D569, J189
A419, E119, I639, D569, I10, E785
B24, A153, D569
D569
D569, E785, E110, I10
E031, Z240, Z271, D569

ซึ่งที่เข้าใจน่าจะเป็น
รหัส
A165, M7501, D569
A419, D569, J189
A419, E119, I639, D569, I10, E785
B24, A153, D569
D569
E031, Z240, Z271, D569
D569, E785, E110, I10
D569 หายไปครับ
และเมื่อ Query นับใน a
SELECT Count(a_detail.[รหัส]) AS Total
FROM a_detail
GROUP BY 1;
นับได้แค่ 2 ที่ต้องการคือ 8 ครับ

Re: นับรหัสรายการที่กำหนดไว้

Posted: Wed May 08, 2019 12:07 am
by snasui
:D อ่านแล้วไม่ค่อยกระจ่างในคำถามครับ

เพื่อความสะดวกต่อการสังเกตว่ามีการนับถูกต้องหรือไม่ สามารถเพิ่มคอลัมน์ของรหัสกับคอลัมน์ผลลัพธ์ของการนับเข้ามาใน Query ได้ตามด้านล่างครับ

Code: Select all

SELECT sheet1.[รหัส] As รหัส, Count(sheet1.[รหัส]) AS จำนวน
FROM sheet1
WHERE (InStr([รหัส],"D569")>0)
Group By รหัส
กรณีต้องการเฉพาะผลลัพธ์ว่านับแล้วได้เท่าไร ใช้ Query ตามด้านล่างครับ

Code: Select all

Selete Count(sheet1.[รหัส] As Total
FROM sheet1
WHERE (InStr([รหัส],"D569")>0)

Re: นับรหัสรายการที่กำหนดไว้

Posted: Wed May 08, 2019 8:58 am
by Totem
snasui wrote: Wed May 08, 2019 12:07 am :D อ่านแล้วไม่ค่อยกระจ่างในคำถามครับ

เพื่อความสะดวกต่อการสังเกตว่ามีการนับถูกต้องหรือไม่ สามารถเพิ่มคอลัมน์ของรหัสกับคอลัมน์ผลลัพธ์ของการนับเข้ามาใน Query ได้ตามด้านล่างครับ

Code: Select all

SELECT sheet1.[รหัส] As รหัส, Count(sheet1.[รหัส]) AS จำนวน
FROM sheet1
WHERE (InStr([รหัส],"D569")>0)
Group By รหัส
กรณีต้องการเฉพาะผลลัพธ์ว่านับแล้วได้เท่าไร ใช้ Query ตามด้านล่างครับ

Code: Select all

Selete Count(sheet1.[รหัส]) As Total
FROM sheet1
WHERE (InStr([รหัส],"D569")>0)

:D ขอบคุณครับอาจารย์ พอจะนำไปใช้ได้แล้วครับ