选择子查询Access 2010中的位置

时间:2013-01-17 20:59:21

标签: ms-access select subquery where

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

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] );

感谢。

1 个答案:

答案 0 :(得分: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查询向导。