Anleitung:Oracle SQL Hüllen Vergleich Spalten in verschiedenen Tabellen und Joins
- Spalten auswählen
EName
undVehicleName
- Wenn
EName
kein Fahrzeug nicht besitzt, angezeigt alsVehicleName
Null.
Relevante SQL-Tabellen und Spalten:
Table | Columns
--------------+-------------------------
Emp | EmpNo, EName
Vehicle | VehicleId, VehicleName
EmpVehicle | EmpNo, VehicleId
Mein aktueller Versuch ist:
SELECT Emp.EName, Vehicle.VehicleName
FROM Emp
INNER JOIN EmpVehicle ON Emp.EmpNo = EmpVehicle.EmpNo
INNER JOIN Vehicle ON EmpVehicle.VehicleId = Vehicle.VehicleId
Die obige Abfrage im Sinne arbeitet, dass sie alle Namen Mitarbeiter zeigen mit einem EmpVehicle.VehicleId
und Vehicle.VehicleName
Eintrag aber ich habe keine Ahnung, wie man Namen von Mitarbeitern einfügt, die kein Fahrzeug mit Joins haben.
ich in der Lage gewesen, das zu bestimmen, nicht alle EmpNo
Werte in der Emp.EmpNo
Spalte in der EmpVehicle.EmpNo
Spalte sind und dass meine obige Abfrage zeigt nur die Namen der Mitarbeiter, deren Personalnummer ist in der EmpVehicle.EmpNo
Spalte.
Wie würden Sie einen Fall schreiben, die auf, wenn ein Mitarbeiter in Spalte sieht Emp.EmpNo
ist nicht in Spalte EmpVehicle.EmpNo
und wenn es nicht Null ist, zurückkehrt in den angezeigten VehicleName
?
Das funktioniert! Entschuldigung, es stellte sich heraus, dass es so dumm war, die richtigen Joins nicht zu verwenden. Ich dachte, die Abfrage würde Zeilen ausblenden hatte einen Spalteneintrag, wenn ein NULL-Wert nicht speziell als NULL gesetzt wurde, unabhängig von der Join verwendet. Danke! – BrightHalo