กระทู้เก่าบอร์ด อ.Yeadram
        
           1,532   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.4166s
    
      
		
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 ถ้าระบุมันจะไม่แสดงออกมา ครับ