กระทู้เก่าบอร์ด อ.Yeadram
1,368 4
URL.หัวข้อ /
URL
คิวรี่ให้แสดงข้อมูลทั้งหมดจาก 2 ตาราง
คิวรี่ให้ออกให้ครบทุกรหัส ไม่เฉพาะรหัสที่จับคู่กับยอดกู้เท่านั้น
Member
ktb_id--title---fname
78------นาย------สิทธิ์
79------นาย------เสงี่ยม
80------นาง------อินแปง
81------ดต.------จิรโชติ
82------นาง-------สมใจ
83------นาง-------สมนึก
84------นาย-------สมอยาก
Loan
Round_loan--ktb_id----money_loan
2552---------78-------10000
2552---------79-------20000
2552---------80-------20000
2552---------81-------12000
2552---------84-------10000
SELECT Member.ktb_id, Member.title, Member.fname, Loan.Round_loan, Loan.money_loan
FROM Member INNER JOIN Loan ON Member.ktb_id = Loan.ktb_id
WHERE (((Loan.Round_loan)="2552"))
ORDER BY Member.ktb_id;
อยากให้คิวรี่ออกของรหัส 82-83 ด้วยครับ
ขอบคุณครับ
Member
ktb_id--title---fname
78------นาย------สิทธิ์
79------นาย------เสงี่ยม
80------นาง------อินแปง
81------ดต.------จิรโชติ
82------นาง-------สมใจ
83------นาง-------สมนึก
84------นาย-------สมอยาก
Loan
Round_loan--ktb_id----money_loan
2552---------78-------10000
2552---------79-------20000
2552---------80-------20000
2552---------81-------12000
2552---------84-------10000
SELECT Member.ktb_id, Member.title, Member.fname, Loan.Round_loan, Loan.money_loan
FROM Member INNER JOIN Loan ON Member.ktb_id = Loan.ktb_id
WHERE (((Loan.Round_loan)="2552"))
ORDER BY Member.ktb_id;
อยากให้คิวรี่ออกของรหัส 82-83 ด้วยครับ
ขอบคุณครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R06919
ขอโทษด้วยครับ 1 ใช้ LEFT JOIN แทน INNER JOIN
3 @R06920
SELECT Member.ktb_id, Member.title, Member.fname, Loan.Round_loan, Loan.money_loan
FROM Member LEFT JOIN Loan ON Member.ktb_id = Loan.ktb_id
WHERE (((Loan.Round_loan)="2552")) OR (((Loan.Round_loan) Is Null))
ORDER BY Member.ktb_id;
ทดลองใหม่ครับ ทำตามแล้วปรากฎว่าผู้ที่ยื่นกู้หลายๆ ปีข้อมูลมันขนกันออกมาครับ เพราะต้องใช้ข้อมูล 2552 เป็นฐานสำหรับการกู้รอบ ปี 2553 ครับ
สำเร็จด้วย Left Join และ เพิ่ม วรรคหลัง
ขอบคุณครับ คนเห็นแก่ตัว (ประชดแฟนเปล่านี่)
FROM Member LEFT JOIN Loan ON Member.ktb_id = Loan.ktb_id
WHERE (((Loan.Round_loan)="2552")) OR (((Loan.Round_loan) Is Null))
ORDER BY Member.ktb_id;
ทดลองใหม่ครับ ทำตามแล้วปรากฎว่าผู้ที่ยื่นกู้หลายๆ ปีข้อมูลมันขนกันออกมาครับ เพราะต้องใช้ข้อมูล 2552 เป็นฐานสำหรับการกู้รอบ ปี 2553 ครับ
สำเร็จด้วย Left Join และ เพิ่ม วรรคหลัง
ขอบคุณครับ คนเห็นแก่ตัว (ประชดแฟนเปล่านี่)
4 @R06927
ต้องระวังข้อมูลที่ เป็นค่า null ในปี ที่ไม่ใช่ 2552 ด้วยจะแสดงออกมาด้วยครับ
Time: 0.3302s
FROM member LEFT JOIN Loan ON member.ktb_id = Loan.ktb_id;
ORDER BY Member.ktb_id;
1 ใช้ inner join แทน inner join จะยึดตาราง member เป็นหลักครับ
2 ต้องตัด where ออก เพราะ Round_loan=2552 ktb_id =82 และ 83 ไม่มี transaction ถ้าระบุมันจะไม่แสดงออกมา ครับ