将结果与PHP / MySQL中的另一个表进行比较

时间:2009-05-22 05:02:39

标签: php mysql

我有2张桌子......

Table1:
ID, Name, Country
Table2:
ID, accountID, parent

table1.id = table2.acountID

我的脚本搜索具有特定父级的所有记录。 我想将这些结果与table1进行比较,并返回搜索中没有的所有条目。

例如。 表1:

1, Bill, AU
2, Charles, US
3, Clare, CA

表2:

1, 1, Mary
2, 1, William
3, 2, Henry

搜索(select * from table2 WHERE accountID ='1')返回:

1, 1, Mary
2, 1, William

我希望得到这个结果(来自table1):

2, Charles, US
3, Clare, CA

2 个答案:

答案 0 :(得分:1)

SELECT * FROM table1 WHERE ID NOT IN
  (SELECT * FROM table2 WHERE accountID = '1')

答案 1 :(得分:0)

您的搜索返回表2中accountID = 1

的所有行

要返回搜索中未返回的所有行,您会发现Table1中的所有行的ID不是1,或者表2中没有任何匹配的行。

SELECT
  ID
FROM
  Table1
WHERE
  ID <> 1
  OR NOT EXIST (SELECT * FROM Table2 WHERE accountID = 1)

似乎很简单?