Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Union-Abfrage (https://www.delphipraxis.net/13642-union-abfrage.html)

barnti 23. Dez 2003 08:11


Union-Abfrage
 
Hallo,

ich habe eine Frage bezüglich Formulierung eines Statements:
SQL-Code:
SELECT u.*, position.menge
FROM unterpartie u
left join position on u.id= position.id
WHERE position.ID is NULL

union

SELECT u.*, position.menge
FROM unterpartie u, position
WHERE u.id=position.id
and position.menge<> u.menge
Dazu folgende Erklärung:

Das Statement soll alle Datensätze aus der Tabelle u zurückgeben, die nicht in der Tabelle Position vorkommen

UND

Alle Datensätze aus Tabelle u, wo u.menge nicht mit position.menge übereinstimmt.

So weit so gut. Mein Problem ist, dass ich im ersten Teil des Statements alle Datensätze bekommen will, die nicht in der Tabelle Position vorhanden sind. Da ich "Select position.menge" abfrage bekomme ich hier einen Wert ungleich NULL...?!

Ich brauche "Position.menge", um die Union-Abfrage gestalten zu können. Die Anzahl der Spalten im "Select" muss bei beiden gleich sein. Außerdem brauche ich den Wert "Position.menge"

Kann mir jemand helfen das Statement zu korrigieren, so dass ich alle Datensätze erhalte, die nicht in "Position" vorkommen (also Position.menge is NULL) oder alle Datensätze, wo sich die Mengen unterscheiden.

Danke für eure Hilfe,

Gruß,

Leuselator 23. Dez 2003 08:15

Re: Union-Abfrage
 
Leier: Welche Datenbank?

barnti 23. Dez 2003 08:18

Re: Union-Abfrage
 
sorry!

Mysql...

Leuselator 23. Dez 2003 08:24

Re: Union-Abfrage
 
probier doch mal:
SQL-Code:
         select U.* 
           from Unterpartie U
left outer join Position P
             on (   (P.id = U.id)
                and (P.Menge <> U.Menge)
                )
             or (P.id is NULL)
Wenn ich Dich richtig verstanden habe?

barnti 23. Dez 2003 08:36

Re: Union-Abfrage
 
Hi,
muss ich mal in Ruhe durchprobieren...

Gruß,

Barnti

barnti 23. Dez 2003 09:32

Re: Union-Abfrage
 
Hallo Leuselator,

So wie es scheint hast Du es richtig verstanden! Jetzt erhalte ich endlich das, was ich erwarte! Left outer join muss es natürlich sein! Meine SQL-Kenntnisse sind etwas eingestaubt.

Ich danke Dir vielmals für Deine effektive und schnelle Hilfe.

Gruß,

Barnti


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.

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