我有2张桌子:
表A:
pid|filename|date
-----------------
1 |file1 |2009
2 |file2 |2009
3 |file3 |2009
4 |file4 |2009
表B:
pid|filename
------------
1 |filex1
1 |filex2
2 |filex3
2 |filex4
我想得到的结果是:
pid|filename|date
-----------------
3 |file3 |2009
4 |file4 |2009
这意味着它应该只向我显示与第二个表没有关系的表A的行。
我从这段代码开始,但它没有用!
$do_q=mysql_query("SELECT *
FROM A LEFT JOIN B
ON (A.pid <> B.pid)");
while($row = mysql_fetch_array($do_q)){
echo $row['pid'];
echo $row['filename'];
echo $row['date'];
}
谢谢。
答案 0 :(得分:1)
SELECT A.*
FROM A
LEFT JOIN B
ON A.pid = B.pid
WHERE b.pid IS NULL
答案 1 :(得分:0)
我认为这应该适合你:
SELECT *
FROM A
WHERE pid NOT IN (SELECT pid from B)
答案 2 :(得分:0)
SELECT
*
FROM tableA A
WHERE(NOT EXISTS(SELECT 1 FROM tableB B WHERE B.pid = A.pid))