เรื่องการ select 2 ตาราง เพื่อเปรียบเทียบ น๊าครับ ขอคาม แนะนาม บ้างเน้อ
เอาเฉพาะที่มีทั้ง table1 และมีใน table2 ออกมา
SELECT t1.pid, t2.pid
FROM table1 t1 INNER JOIN table2 t2 ON t1.pid = t2.pid;
เอาออกมาทั้งสอง table โดยไม่แคร์ว่าใน table2 จะมีหรือไม่(กรณีที่ record ของ
table2 เป็น subset ของ table1) หากมีแต่ใน table1และใน table2 ไม่มี ผลของการ
query ทำให้ pid ของ table2 เป็น null
SELECT t1.pid, t2.pid
FROM table1 t1 LEFT JOIN table2 t2 ON t1.pid = t2.pid;
เอาเฉพาะที่มีใน table1 แต่ไม่มีใน table2 ออกมา
SELECT t1.pid, t2.pid
FROM table1 t1 LEFT JOIN table2 t2 ON t1.pid = t2.pid;
where T2.PID is NULL
หากต้องการสลับให้ table2 ไปอยู่ทางขวาของการ join ก็ย่อมทำได้
Hope this help.
Date :
2010-06-05 11:43:29
By :
pnbps
ขอบคุณครับ สำหรับข้อมูล หลังจาก ผมถามเอาไว้แล้ว ผมก็ลองทำแบบนี้ ซึ่งก็ได้ เหมือนกันครับ
Code (PHP)
$sql=mysql_db_query($dbname,"select table1.pid,table1.pname,table1.qty,table1.date from table1
left join table2 on table1.pid = table2.pid
where table2.pid is null order by table1.pid asc ");
สุดท้าย ก็ขอบคุณ หลาย ๆ ครับ
Date :
2010-06-05 12:30:48
By :
piak
สั้นกว่า การใช้ no exit อีก
แน่นอนจริงๆ
แอบมาลักจำไปใช้หน่อยน่ะครับ
Date :
2010-06-05 13:35:33
By :
iieszz
Load balance : Server 04