[英]How to make full outer join in mysql
我已經搜索過並且已經花了很多時間進行此查詢...我要的是我需要在某一列為空的同時輸出特定原材料的原材料名稱。 我已經嘗試了完全外部聯接,但我不知道為什么phpmyadmin不接受我的查詢IVE並嘗試了幾乎所有我能做的事情。
表格:
Purchaserequest_tbl
列:purchaserequestID,orderID,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'
我希望有人能夠幫助我..我真的很難在這里
如果我理解您,則您發布的查詢對您有效,但未給出預期的結果。 完全外部聯接對您不起作用,因為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'
如果只希望它們為空,則在兩個where子句中添加WHERE rightTable.Column為null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.