Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Frage zu SQL Komma-Join (https://www.delphipraxis.net/134142-frage-zu-sql-komma-join.html)

DeddyH 17. Mai 2009 11:54

Re: Frage zu SQL Komma-Join
 
Vergib bei der UNION am Besten für beide Datumsfelder denselben Alias, dann kannst Du am Schluss nach diesem sortieren.

Grolle 17. Mai 2009 11:55

Re: Frage zu SQL Komma-Join
 
Zitat:

Zitat von mkinzler
Das gesamte Ergebnis oder die einzelnen Teile?

Das gesamte Ergebnis!

mkinzler 17. Mai 2009 11:57

Re: Frage zu SQL Komma-Join
 
Zitat:

Zitat von Grolle
Zitat:

Zitat von mkinzler
Das gesamte Ergebnis oder die einzelnen Teile?

Das gesamte Ergebnis!

Dann siehe Detlefs Antwort.

Grolle 17. Mai 2009 12:34

Re: Frage zu SQL Komma-Join
 
SQL-Code:
SELECT n.recipient,n.start_date, c.contact_id, c.send_date
FROM correspondence c
LEFT JOIN (SELECT FIRST 0 * FROM notes) n
  ON 1 = 1
WHERE c.contact_id = 22
UNION
SELECT n.recipient,n.start_date as sortdate, c.contact_id, c.send_date as sortdate
FROM notes n
LEFT JOIN (SELECT First 0 * FROM correspondence) c
  ON 1 = 1
WHERE n.recipient = 22 order by sortdate
Das mag er aber nicht. Wo ist denn da der Fehler :gruebel:

mkinzler 17. Mai 2009 12:38

Re: Frage zu SQL Komma-Join
 
Im ersten Satement fehlt der Alias im 2. ist er dafür doppelt

TBx 17. Mai 2009 12:54

Re: Frage zu SQL Komma-Join
 
Wenn ich Dich nun richtig verstanden habe, möchtest Du eine Ergebnismenge mit ID und Datum erhalten.
Die ID ist entweder die CONTACT_ID oder die RERIPIENT_ID, das Datum analog dazu SEND_DATE bzw. START_DATE.

Dazu verwendest Du einen klassischen UNION:

SQL-Code:
SELECT c.contact_id, c.send_date
  FROM correspondence c
  WHERE c.contact_id = 22
UNION
SELECT n.recipient, n.start_date
  FROM notes n
  WHERE n.recipient = 22 
order by 2
Das Order by 2 bewirkt die Sortierung nach dem Datum.
Doppelte Datensätze werden hier ausgefiltert, solltest Du diese benötigen, so verwende FULL JOIN.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz