2016-03-07 1 views
0

J'ai cherché et j'ai déjà passé beaucoup de temps pour cette requête ... Ce que je veux, c'est que je doive extraire le nom de la matière première de la matière première spécifique tandis que l'un des les colonnes sont nulles. J'ai essayé la jointure externe complète mais je ne sais pas pourquoi phpmyadmin n'accepte pas ma requête ive a essayé presque tout que je peux.Comment faire une jointure externe complète dans mysql

Tables:

purchaserequest_tbl

colonnes: purchaserequestID, orderID, rawmaterialID, rawmaterialquantity

rawmaterial_tbl:

colonnes: id, nom, catégorie, unité

est ici la requête

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' 

J'espère que quelqu'un pourra me aider .. im vraiment un moment difficile ici

+0

semble ok pour moi. – Strawberry

Répondre

1

Si je vous comprends, la requête que vous avez travaillé pour vous au courant, mais n'a pas donné les résultats escomptés. jointure externe ne fonctionne pas pour vous parce que MYSQL ne supporte pas les jointures externes complète, vous devez faire deux jointures externes à gauche afin d'obtenir ce résultat, essayez ceci:

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' 

Si vous voulez que les qui sont null, ajouter dans les deux clauses où WHERE rightTable.Column est null

+0

Merci beaucoup pour le feed back mon ami. Oui, je l'ai utilisé sur un constructeur de requête pour essayer 3 tables jst de faire 2 jointures externes gauche et cela a fonctionné! – Siege21x

+0

Votre code est vraiment génial. Maintenant, j'ai une autre façon de penser à des requêtes! Merci beaucoup!!! – Siege21x