การ join 3 ตารางทำอย่างไร

   
สวัสดีค่ะ รบกวน ท่านผู้รู้ช่วยด้วยค่ะ
มีตาราง 3 ตาราง

1. Quotation = Quotationid,custid,productid
2. Product = Productgroup,productid
3. Customer = custid,custname

ต้องการ select ข้อมูลตามเงื่อนไขดังนี้

Quotation.custid = Customer.custid และ
Quotation.productid = Product.productid และ
thisform.text1.value = Quotation.productid

โดยใช้ SQL ดังนี้

select * from ((quotation inner join customer on quotation.custid = customer.custid)
inner join product on quotation.productid = product.produtid and thisform.quatation1.value = quotation.quotationid);

หรือ

select * from quotation,customer,product where;
quotation.custid = customer.custid and quotation.productid = product.productid;
and thisform.quatation1.value = quotation.quotationid

ต้องการให้ผลลัพธ์ออกเฉพาะเรคคอร์ดที่มีใน Quotation เท่านั้น แต่ตาม sql ด้านบนจะแสดงเรคคอร์ดตามที่มีในตาราง product
เช่น ข้อมูลในตาราง Quotation มี 2 เรคคอร์ด มันจะแสดงออกมา 4 เรคคอร์ด (ถ้า 1 กรุป มี 4 เรคคอร์ด)

ลองเข้าไปดูในกระทู้เก่าแล้วลองมาทำตามไม่ได้ค่ะ
Pongrapee
20 ส.ค. 46 เวลา 12:09:10 น. --> 66.119.33.170,
   
   
ให้
A หมายถึง quotation
B หมายถึง product
C หมายถึง customer

select * ;
from A,B,C ;
where A.key = Identifier ; && ไม่ใช่ Identifier = A.key และอย่าเอาไปไว้เป็นเงื่อนไขหลังสุด เพราะมันจะผิด
and B.key = A.key ; && ไม่ใช่ A.key = B.Key
and C.key = A.key && ไม่ใช่ A.key = C.Key
จิ้งจอกหลงมา
20 ส.ค. 46 เวลา 13:04:51 น. --> 203.121.132.10,
  
   
ใน Visual FoxPro เขาอุตสาห์ทำ keyword join มาให้ใช้ ก็ใช้ตามนี้

SELECT * FROM Quotation Q ;
LEFT OUTER JOIN Customer C ;
ON Q.Custid = C.Custid ;
LEFT OUTER JOIN Product P ;
ON Q.Productid = P.Productid ;
WHERE Q.Productid = ThisForm.text1.value ;
INTO CURSOR XYZ
thai_vfp
20 ส.ค. 46 เวลา 13:20:17 น. --> 203.148.129.6,
  
   
select * from quotation,customer,product where;
ทำแบบนี้ เท่ากับ เป็นการเอา ตาราง quotation * customer * product ได้จำนวน record เท่าไหร่ลองทำดูละกัน แล้วค่อยมา where อีกที่ แบบนี้กิน resource ของเครื่อง มหาศาล
thai_vfp
20 ส.ค. 46 เวลา 13:23:07 น. --> 203.148.129.6,
  
   
ขอบคุณทุกท่านที่สละเวลามาตอบมาก ๆ ค่ะ จะลองไปทำดูก่อนนะคะ
Pongrapee
20 ส.ค. 46 เวลา 16:32:44 น. --> 203.209.21.37,
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :