รบกวนถาม เรื่อง คำสั่ง sql หน่อยครับ ผมต้องการ select ข้อมูลจาก 3 ตารางตาราง company บริษัท
พิมผิดครับ ไม่ใช่ 3 แต่ เป็น 4 ตารางครับ
Date :
2009-09-08 13:31:19
By :
tongjaab
JOIN
Date :
2009-09-08 14:42:02
By :
zepherus
select a.ordermatid,d.matname,b.matname,a.ordermatamount,a.ordermatprice
from detail_order_material a
inner join order_material b
on a.ordermatid = b.ordermatid
inner join company c
on b.comid = c.comid
inner join materia d
on a.matid = d.matid
ลองดูนะครับ
น่าจะได้ สงสัยอะไรถามได้ครับ
Date :
2009-09-08 14:53:54
By :
taobsd
อยากทราบ เรื่อง inner join อ่ะคับ มันใช้ยังไงหรอครับ
รบกวนอธิบาย ให้ทีได้ไหม ครับ
พอดีไม่ค่อยเข้าใจอ่ะคับ
Date :
2009-09-08 16:14:13
By :
tongjaab
เป็นการ Select ข้อมูล ตามความสัมพันธ์ของข้อมูล
เช่น มี 3 เทเบิล
เทเบิล แรก เก็บ ประวัติลูกค้า โดยมี รหัสลูกค้า อ้างอิงตัวตนของลูกค้า
เทเบิล สอง เก็บ ประวัติสินค้า โดยมี รหัสสินค้า อ้างอิงตัวตนของสินค้า
เทเบิล สาม เก็บ ประวัติการซื้อ โดย รหัสสั่งซื้อ เป็นตัวอ้างอิง รหัสลูกค้าผู้ซื้อ และ รหัสสินค้าที่จ่าย
ทีนี้ เราต้องการที่จะทำการเลือกดูว่า ประวัติสินค้า เลขที่นี้ ลูกค้าชื่ออะไรเป็นผู้ซื้อ และ ซื้อของชนิดใดไป แต่เวลาเราเก็บ ข้อมูล เราจะเก็บเพียงแค่ รหัสลูกค้าและรหัสสินค้าในประวัติการสั่งซื้อ เราจะใช้วิธีการ INNER JOIN เพื่อทำการ Select ข้อมูลมา
จะได้ว่า
"SELECT เทเบิลลูกค้า.ชื่อลูกค้า , เทเบิลสินค้า.ชื่อสินค้า , เทเบิลใบสั่งซื้อ.* From เทเบิลใบสั่งซื้อ INNER JOIN เทเบิลลูกค้า ON เทเบิลใบสั่งซื้อ.รหัสลูกค้า = เทเบิลลูกค้า.รหัสลูกค้า INNER JOIN เทเบิลสินค้า ON เทเบิลใบสั่งซื้อ.รหัสสินค้า = เทเบิลสินค้า.รหัสสินค้า";
ซึ่งตามความเข้าใจของผมก็คือ ถ้าจะ Select เป้าหมายใหญ่ ผมจะเลือกก่อน โดย ใช้ From แล้วเลือก เทเบิลเป้าหมาย ซึ่งก็คือ เทเบิลใบสั่งซื้อ จากนั้น ผมจะทำการเลือก ชื่อลูกค้า และ ชื่อสินค้า โดยใช้คำสั่ง INNER JOIN เทเบิลนั้น ๆ แล้วนำค่าฟิว ที่มีความสัมพันธ์ มา ON จะได้ เทเบิลสั่งซื้อ.รหัสลูกค้า = เทเบิลลูกค้า.รหัสลูกค้า ใบเรื่อย ๆ ครับ
งง ไหม ?
หรือรอท่านอื่น มาชี้แนะอีกทีนะครับ
Date :
2009-09-08 16:28:00
By :
kalamell
เข้าใจแล้วครับ
ขอบคุณมากๆๆเลยครับ
Date :
2009-09-08 16:59:35
By :
tongjaab
ยินดีด้วยครับ ที่ได้แล้ว
Date :
2009-09-10 15:01:05
By :
taobsd
Load balance : Server 02