2012-11-07 63 views
0

如何寫我的SQL查詢是否正確?我想在查詢中使用WHERE子句,但我不知道如何正確。這是我的查詢與錯誤:如何使用WHERE子句中的查詢與LEFT JOIN?

**SELECT pil.[Buy-from Vendor No_], pil.No_, pil.Amount, pil.Quantity 
FROM dbo.[„blk「 2011$Purch_ Inv_ Line]AS pil 
WHERE pil.Type=5 
LEFT JOIN dbo.[„blk「 2011$Purch_ Inv_ Header] AS pih 
ON pil.[Document No_]=pih.No_ 
ORDER BY pil.amount** 

回答

1

這是你有手柄左側加入

SELECT 
    pil.[Buy-from Vendor No_] 
    , pil.No_, pil.Amount 
    , pil.Quantity 
FROM dbo.[UAB „Arvi cukrus「 2011$Purch_ Inv_ Line] pil 
LEFT JOIN dbo.[„blk「 2011$Purch_ Inv_ Header] Pih ON pil.[Document No_]=pih.No_ 
WHERE pil.Type=5 
ORDER BY pil.amount 
+2

錯誤的表名,必須是[「BLK」 2011 $ Purch_ Inv_線] – Mantas89

+0

@ Mantas89:感謝的人:) –

+1

變化與另一個表名:)謝謝,這可能是正確的。 – Mantas89

0

把所有的連接後:

SELECT pil.[Buy-from Vendor No_], pil.No_, pil.Amount, pil.Quantity 
FROM dbo.[„blk「 2011$Purch_ Inv_ Line]AS pil 
LEFT JOIN dbo.[„blk「 2011$Purch_ Inv_ Header] AS pih 
ON pil.[Document No_]=pih.No_ 
WHERE pil.Type=5 
ORDER BY pil.amoun 
0

WHERE之前ORDER BY

0

FROM條款和其他表引用後移動WHERE條款,像這樣:

SELECT 
    pil.[Buy-from Vendor No_], 
    pil.No_, 
    pil.Amount, 
    pil.Quantity 
FROM ... 
... 
WHERE pil.Type=5 
ORDER BY pil.amount 
1

Where而來的From條款後的方式。正確的查詢是

SELECT pil.[Buy-from Vendor No_], pil.No_, pil.Amount, pil.Quantity 
    FROM dbo.[„blk「 2011$Purch_ Inv_ Line]AS pil 
    LEFT JOIN dbo.[„blk「 2011$Purch_ Inv_ Header] AS pih 
    ON pil.[Document No_]=pih.No_ 
    WHERE pil.Type=5 
    ORDER BY pil.amount;