2016-03-07 90 views
0

我已經搜索並且已經花費了很多時間用於此查詢... 我想要的是我需要輸出特定原材料的原材料名稱,而其中一個列爲空。我試過完全的外連接,但我不知道爲什麼phpmyadmin不接受我的查詢我試過幾乎所有我可以。如何在mysql中完全外連接

表:

purchaserequest_tbl

列:purchaserequestID,單編號,rawmaterialID,rawmaterialquantity

rawmaterial_tbl:

列:ID,名稱,類別,單位

這裏是查詢

SELECT `purchaserequest_tbl`.`orderID` AS 'Order No', 
     `rawmaterial_tbl`.`rawMaterialName` AS 'Raw Material Name', 
     `purchaserequest_tbl`.`rawMaterialQty` AS 'Length (inches)' 
FROM `purchaserequest_tbl` 
LEFT OUTER JOIN `rawmaterial_tbl` 
ON `purchaserequest_tbl`.`rawMaterialID` = `rawmaterial_tbl`.`rawMaterialName` 
WHERE `purchaserequest_tbl`.`purchaseRequestStatus` = 'Requested' 

我希望有人能夠幫助我..我真的有在這裏

+0

對我來說看起來沒問題。 – Strawberry

回答

1

很難如果我理解你,你發佈查詢爲你工作,但並沒有產生預期的結果。全外連接你沒有工作,因爲MySQL不支持全外連接,所以你必須做出2留在爲了得到這個結果的外連接,試試這個:

SELECT `purchaserequest_tbl`.`orderID` AS 'Order No', 
     `rawmaterial_tbl`.`rawMaterialName` AS 'Raw Material Name', 
     `purchaserequest_tbl`.`rawMaterialQty` AS 'Length (inches)' 
FROM `purchaserequest_tbl` 
LEFT OUTER JOIN `rawmaterial_tbl` 
ON `purchaserequest_tbl`.`rawMaterialID` = `rawmaterial_tbl`.`rawMaterialName` 
WHERE `purchaserequest_tbl`.`purchaseRequestStatus` = 'Requested' 
UNION 
SELECT `purchaserequest_tbl`.`orderID` AS 'Order No', 
     `rawmaterial_tbl`.`rawMaterialName` AS 'Raw Material Name', 
     `purchaserequest_tbl`.`rawMaterialQty` AS 'Length (inches)' 
FROM `rawmaterial_tbl` 
LEFT OUTER JOIN `purchaserequest_tbl` 
ON `purchaserequest_tbl`.`rawMaterialID` = `rawmaterial_tbl`.`rawMaterialName` 
WHERE `purchaserequest_tbl`.`purchaseRequestStatus` = 'Requested' 

如果你只想要那些這是null,在兩個where子句中都加上WHERE rightTable.Column爲null

+0

非常感謝您的反饋,我的朋友。是的,我在查詢生成器上使用它來嘗試3個表jst使2個左外連接,它的工作! – Siege21x

+0

你的代碼太棒了。現在我有另一種方式來思考查詢!非常感謝你!!! – Siege21x