กระทู้เก่าบอร์ด อ.Yeadram
973 1
URL.หัวข้อ /
URL
ขอความช่วยเหลือครับ
ผมมีตาราง3ตาราง
ตรางที่1 รายชื่อพนักงาน
ตารางที่2 คอร์สอบรมทั้งหมด
ตารางที่3 เป็นตารางที่เชื่อมตาราง1กับ2 เพื่อกรอกว่าพนักงานแต่ละคนอบรมคอร์สอะไรแล้วบ้าง
แล้วผมจะทำการสร้างคิวรี่ในตารางที่3เพื่อค้นหาข้อมูลพนักงานตามที่ผมต้องการ
แต่ผมอยากให้ข้อมูลที่แสดงเมื่อเรียกคิวรี มีฟิวชื่อพนักงาน,ฟิวคอร์สที่อบรม,ฟิวคอร์สที่ยังไม่ได้อบรม
ปัญหาคือผมจะทำยังไงให้มันแสดง ฟิวคอร์สที่ยังไม่ได้อบรม ออกให้ด้วย ในความคิดของผมคงต้องใช้สูตร เอาฟิวคอร์สในตารางที่3ไปลบกับตารางที่2
ช่วยผมด้วยครับ :(
ตรางที่1 รายชื่อพนักงาน
ตารางที่2 คอร์สอบรมทั้งหมด
ตารางที่3 เป็นตารางที่เชื่อมตาราง1กับ2 เพื่อกรอกว่าพนักงานแต่ละคนอบรมคอร์สอะไรแล้วบ้าง
แล้วผมจะทำการสร้างคิวรี่ในตารางที่3เพื่อค้นหาข้อมูลพนักงานตามที่ผมต้องการ
แต่ผมอยากให้ข้อมูลที่แสดงเมื่อเรียกคิวรี มีฟิวชื่อพนักงาน,ฟิวคอร์สที่อบรม,ฟิวคอร์สที่ยังไม่ได้อบรม
ปัญหาคือผมจะทำยังไงให้มันแสดง ฟิวคอร์สที่ยังไม่ได้อบรม ออกให้ด้วย ในความคิดของผมคงต้องใช้สูตร เอาฟิวคอร์สในตารางที่3ไปลบกับตารางที่2
ช่วยผมด้วยครับ :(
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
Time: 0.3509s
นาย ก., อบรม A, อบรม D, ไม่อบรม B, ไม่อบรม C, ....
อย่างนี้ต้องเขียนโปรแกรมเอาเองนะครับ
ถ้าแสดงออกมาคนละบรรทัด
นาย ก., A, อบรม
นาย ก., B, ไม่อบรม
นาย ก., C, ไม่อบรม
นาย ก., D, อบรม
อย่างนี้ใช้ SQL เพื่อคิวรี่หาผลลัพธ์ได้ครับ
select ชื่อพนง., คอร์สอบรม, "อบรม" from ตาราง3
union all
select A.ชื่อพนง., B.คอร์สอบรม, "ไม่อบรม" from ตาราง1 as A, ตาราง2 as B
where not exists(select C.ชื่อพนง., C.คอร์สอบรม from ตาราง3 as C
where C.ชื่อพนง. = A.ชื่อพนง.
and C.คอร์สอบรม = B.คอร์สอบรม)
order by ชื่อพนง., คอร์สอบรม
ผมไม่ได้ทดสอบ SQL นี้นะครับ อาจจะมีที่ผิดก็ได้ ลองดูครับ