我遇到问题,我在MS Access 2007中的查询多次拉出相同的记录。
有两个表:销售,产品
产品表
ID |名称|价格|代码
01 |笔| 0.10 $ | 01
02 | ITEM | 0.20 $ | 2567
销售表:
ID |代码|量
1 | 01 | 4
2 | 2567 | 2
还有查询
SELECT Product.Name,Product.Price,Sales.Amount
FROM Product,Sales
WHERE Product.Code IN(SELECT Sales.Code FROM Sales);
多数结果
名称价格金额
PEN $ 0.10 4
PEN $ 0.10 4
ITEM $ 0.20 2
ITEM $ 0.20 2
答案 0 :(得分:0)
将您的查询更改为
SELECT Product.Name, Product.Price, Product.Amount
FROM Product, Sales
WHERE Product.Code = Sales.Code;
答案 1 :(得分:0)
您的查询当前正在将Product中的每条记录加入Sales中的每条记录,从而产生倍数。您需要在它们之间进行连接,或者像Yousaf建议的那样在WHERE子句中进行连接,或者像这样,这是更标准的方法:
SELECT Product.Name, Product.Price, Sales.Amount
FROM Product
INNER JOIN Sales ON Product.Code = Sales.Code