Ich habe drei (3) Tische:MYSQL LEFT JOIN nicht funktioniert
Ich möchte alle Fahrzeuge von vehicle
Tisch und firstname
und last name
von userInfo
Tisch bekommen, wenn ein Fahrzeug an einen Benutzer in userCarMapping
Tabelle abgebildet wird.
Ich schrieb diese Anfrage:
SELECT `vehicle`.`vehicleId`, `vehicle`.`modelId`, `vehicle`.`RegNo`, `userInfo`.`firstName`, `userInfo`.`lastName`
FROM `vehicle`
LEFT JOIN `userCarMapping` ON `vehicle`.`vehicleId` = `userCarMapping`.`vehicleId`
LEFT JOIN `userInfo` ON `userCarMapping`.`userId` = `userInfo`.`userId`
WHERE `vendorUserId` = '1' AND `vehicle`.`status` = 'approved' AND `userInfo`.`status` = 'approved'`
und ich diese Ausgabe bekommen, wo ich alle Fahrzeuge von vehicle
Tabelle wollen.
[MySQL] (https://dev.mysql.com/doc/refman/5.7/en/) und, [SQL Server] (https://docs.microsoft.com/en-us/sql/t -sql/Sprachreferenz) sind verschiedene Softwarepakete, die von verschiedenen Firmen erstellt werden. Selbst wenn beide SQL implementieren, erweitern sie es auf verschiedene Arten und manchmal verwenden sie unterschiedliche Syntaxkonventionen, die die Abfragen zwischen ihnen inkompatibel machen. Bitte verwenden Sie nur die Tags, die zu der von Ihnen verwendeten Software passen. – axiac
'AND userInfo.status = 'approved'': Dies macht Ihren' linken Join' zu einem 'inneren Join'. Verschieben Sie diese Bedingung in die Join-Bedingung. – HoneyBadger
TIPP: Ersetzen Sie "WHERE" durch "UND" –