Abfrage:MS Access SQL doppelte Zeilen?
SELECT DISTINCT ([Equipment List].ID) AS Expr1, [Job Assignments].Job
FROM [Equipment List] LEFT JOIN [Job Assignments]
ON [Equipment List].ID = [Job Assignments].EquipmentID;
In dieser Abfrage ist die Ausrüstung ID verschieden, wenn und nur wenn ich die [Job Zuweisungen] .job in der select-Anweisung nicht hinzufügen. Sobald ich das tue, bekomme ich viele Duplikate. Die Jobzuweisungstabelle hat viele Jobs, aber ich bin nur an dem interessiert, bei dem [Datum zurückgegeben] leer oder null ist. Irgendwelche Ideen, wie man das erreicht? Ich benutze dies als einen Bericht, also gibt es mir einen Fehler, wenn ich versuche, innere SQL-Abfragen zu verwenden. Dies ist auch eine vereinfachte Abfrage, da das Original mehrere Auswahlmöglichkeiten hat. Was mache ich falsch? Jede Hilfe würde sehr geschätzt werden.
Update: Ich suche nur eine Zeile aus [Job Zuweisungen] Tabelle auswählen. Irgendwelche Ideen?
sehr gut, danke aber die [Equipment List] .ID und [Job-Zuweisungen] .EquipmentID sollte eindeutig sein. Wie würde ich das machen? Sollte die eindeutige [Geräteliste] .ID nicht nur die IDs auswählen, die in beiden Tabellen unterschiedlich sind? – Tudor
Es wählt verschiedene Kombinationen von Feldern aus. Wenn Sie beispielsweise eine Zeile mit [Equipment List] .ID = 12 & [Job-Zuweisungen] .Job = 27 und einer zweiten Zeile mit denselben Werten haben, wird nur eine zurückgegeben. Hätten Sie jedoch ein drittes Ergebnis mit [Equipment List] .ID = 12 & [Job-Zuweisungen] .Job = 28, erhalten Sie zwei Zeilen - eine für Job 27 und eine für Job 28. Auch wenn die Equipment-ID war für beide Zeilen gleich, es wird immer beide Male zurückgegeben, da die COMBINATION eindeutig ist. Ist das sinnvoll? –
Ja, das macht Sinn. Wie würde ich nur den neuesten Job bekommen? Ich möchte nur eine Kombination basierend auf der EquipmentID. Also für teach EquipmentID möchte ich nur eine [Job-Aufgaben] .Job – Tudor