我有一个如下所示的查询:
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] );
感谢。
答案 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查询向导。