Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.432 Beiträge
 
Delphi 7 Professional
 
#2

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 18. Feb 2019, 18:00
Das hat nix mit den Parametern zu tuen, in einem SQL eine Parameter mehrfach verwenden, mache ich seit Jahr und Tag regelmäßig, funktioniert bei allen Datenbanken problemlos.

Distinct macht aus mehreren Datensätzen des ersten Selects einen Datensatz.

Union fügt die zweite Ergebnismenge dazu und sorgt für Eindeutigkeit der gesamten Ergebnismenge.

Wenn nun beim ersten Select Parent = Delphi sein sollte und beim zweiten Select ArtLink = Delphi, so enthält die Ergebnismenge des Union nur eine Zeile mit dem Wert Delphi.

Wie ändert sich das Ergebnis, wenn Du statt Union mal Union All verwendest, bekommst du dann mehrere (ggfls. identische) Datenätze als Ergebnis?

Bist Du sicher, dass Dein bisheriges Ergebnis nur Daten des ersten Selects enthält? Woran kannst Du das mit Sicherheit festmachen?

Hast Du geprüft, ob beide Abfragen für sich alleine jeweils ein Ergebnis liefern?
Hast Du sichergestellt, dass sie auch unterschiedliche Ergebnisse liefern?

Ändert sich das Ergebnis, wenn Du die Abfrage in etwa so änderst?
SQL-Code:
SELECT DISTINCT Parent, 'Erste AbfrageAs Was FROM Hierarchie h1a WHERE (h1a.Parent = :ParamInteger1)
UNION
SELECT ArtLink, 'Zweite AbfrageAs Was FROM
  (SELECT ArtLink, Parent FROM Hierarchie h2a WHERE (h2a.Parent = :ParamInteger1))
  Mit Zitat antworten Zitat