1

我有一个如下所示的查询:

SELECT *
FROM servTable, serialTable
WHERE servTable.[Service Tag]=serialTable.[Serial Number];

这个查询,假设我没有犯任何错误,应该从两个表中提取所有信息,其中序列和服务列匹配。

我还需要从没有匹配的每个表中提取所有信息。我已经尝试使用以下查询来做到这一点,但它们似乎不起作用。

SELECT *
FROM serialTable WHERE serialTable.[Serial Number] <> ( SELECT *
FROM servTable, serialTable
WHERE servTable.[Service Tag]=serialTable.[Serial Number] );

SELECT *
FROM servTable WHERE servTable.[Service Tag] <> ( SELECT *
FROM servTable, serialTable
WHERE servTable.[Service Tag]=serialTable.[Serial Number] );

谢谢。

4

1 回答 1

3

1 场比赛

SELECT *
FROM servTable
INNER JOIN serialTable
ON servTable.[Service Tag]=serialTable.[Serial Number];

2 不匹配,只有一侧

SELECT *
FROM servTable
LEFT JOIN serialTable
ON servTable.[Service Tag]=serialTable.[Serial Number]
WHERE serialTable.[Serial Number] Is Null

MS Access 中有 Find Matched 和 Find Unmatched 查询向导。

于 2013-01-17T21:27:19.877 回答