我試圖從兩個表中獲取數據,但它似乎沒有拉出符合條件的所有記錄。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