2016-03-07 2 views
0

Я искал и уже потратил много времени на этот запрос ... Я хочу, чтобы мне нужно было указать название сырья для конкретного сырья, в то время как один из столбцы равны нулю. я пробовал полное внешнее соединение, но я не знаю, почему phpmyadmin не принимает мой запрос. ive попробовал почти все, что могу.Как сделать полное внешнее соединение в mysql

Таблицы:

purchaserequest_tbl

колонны: purchaserequestID, OrderID, rawmaterialID, rawmaterialquantity

rawmaterial_tbl:

столбцы: идентификатор, название, категория, блок

здесь является запрос

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' 

Если вы хотите только те, которые являются нулевыми, добавляют в оба предложения where WHERE rightTable.Column равно null

+0

Большое спасибо за обратную связь с моим другом. Да, я использовал его в построителе запросов, чтобы попробовать 3 таблицы jst, чтобы сделать 2 левых внешних соединения, и это сработало! – Siege21x

+0

Ваш код такой замечательный. Теперь у меня есть другой способ подумать о запросах! Большое спасибо!!! – Siege21x

Смежные вопросы