簡體   English   中英

如何在MySQL中進行完全外部聯接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM