我试图从两个表中获取数据,但它似乎没有拉出符合条件的所有记录。SQL查询不获取所有内容
这是我的查询:
SELECT Parts."Part Number",Parts."Description",Parts."Location",Parts."Qty In Stock",Parts."LastCost",Parts."Cost Price",Parts."Retail Price",Transact."Type"
FROM Transact
INNER JOIN Parts
ON Transact."PartNumber"=Parts."Part Number"
WHERE Transact.Type = 'Non-stock Purch'
我试图去拉每一个具有“非库存PURCH”反对的记录,然后拉那部分从零件数据库的说明,因此,为什么我已列入“说明”,“费用”,“上次成本”等
难道我做错事的,这意味着它不会获取所有需要的信息,如果我运行查询:
select * from transact x
where x.Type = 'Non-stock Purch'
order by x.PartNumber
这将返回268条记录,我的上一个查询应该返回相同的数字,但实际上只返回111,我知道他们存在于其他表中,因为他们必须(我也检查过(以防万一出错))。
此外,如果我写错了这些查询或格式不正确,让我知道!
谢谢。
尝试'LEFT JOIN'并查看是否再次获得268条记录。如果是这样,你*不*实际上有另一个表中的每个交易的匹配记录。 – mellamokb 2012-04-20 20:30:57
我知道你已经验证过数据也在Parts表中,但是如果你使用了LEFT JOIN而不是INNER JOIN呢?它是否返回预期的行数? – Tuan 2012-04-20 20:32:23