Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage aus drei Tabellen mit <> werten? (https://www.delphipraxis.net/72149-sql-abfrage-aus-drei-tabellen-mit-werten.html)

Karstadt 26. Jun 2006 13:53

Datenbank: Mysql • Version: 4.1 • Zugriff über: MYDAC

SQL Abfrage aus drei Tabellen mit <> werten?
 
Hallo

Ich habe zwei Tabellen.

Tabelle A:
Kundennr
Ort
PLZ
Stadt
Adresse

Tabelle B:
Kundennr
Abteilung_id

Tabelle C:
Abteilung_ID
Abeilung
Notiz
etc...


Nun will ich mit eine Abfrage rausfinden in welche Abteilung sich der Kunde (kunden_nr 10) befindet und in welche der sich nicht befindet.

zugegeben Beispiel ist etwas doof.. aber die fragestellung ist richtig.


Kann mir bitte helfen.

Danke

morri 26. Jun 2006 14:05

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
Ich denke dir hilf ein INNER JOIN:

SQL-Statement:
Delphi-Quellcode:
select * from TabelleB INNER JOIN TabelleC ON Abteilung_id=Abteilung_ID where Kundennr=10

Karstadt 26. Jun 2006 14:21

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
...nun habe ich alle abteilungen... wie kriege ich nun keine abteilungen?

morri 26. Jun 2006 14:25

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
??

nun müsstest du alle Abteilungen haben, wo der Kunde ist.

Die anderen erreichst du, indem du das = durch ein <> ersetzt.
Bitte versuche dich mal etwas klarer auszudrücken...

Karstadt 26. Jun 2006 14:29

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
..Nun will ich wissen in welchen Abteilungen der Kunde nicht befindet.


select * from TabelleB INNER JOIN TabelleC ON Abteilung_id<>Abteilung_ID where Kundennr=10
(Es werden einigen Abteilungen mehrmal anzegeigt)..

morri 26. Jun 2006 14:33

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
Kannst du dir nicht mal bitte selber ein paar sql-Befehle raussuchen?


Delphi-Quellcode:
Select Distinct * from TabelleB INNER JOIN TabelleC ON Abteilungs_id=Abteilungs_ID Where Kundennr<>10

Karstadt 26. Jun 2006 14:55

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
das habe ich auch ausprobiert (bevor ich den letzte posting abgebegen habe). In diesen Fall werden gar keine Datensätze angezeigt.

HIER

select * from TabelleB INNER JOIN TabelleC ON Abteilung_id<>Abteilung_ID where Kundennr=10
(Es werden einigen Abteilungen mehrmal anzegeigt) auch die Datensätze wo sich der kunde befindet...

Karstadt 26. Jun 2006 15:31

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
..hat jemand eine Idee oder habe ich bei der Abfrage irgendwas nicht beachtet.

SQL-Code:
select * from TabelleB INNER JOIN TabelleC ON Abteilung_id=Abteilung_ID where Kundennr=10
Hier werden mir alle Abteilungen angezeigt, wo sich der Kunde befindet

Nun benötige ich das gegenstück. Alle Abteilungen, wo sich der Kunde nicht befindet.
..

Ich habe insgesamt 3 Abteilungen in zwei davon befindet sich der Kunde, also muss eine Abteilung übrig bleiben...

ich habe die Abfrgagen von morri ausprobiert. damit kriebe ich aber nicht den gewünschten ergebniss.

mkinzler 26. Jun 2006 15:49

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
Ich würde die Abfrage von der anderen seir aufziehen, also alle Abteilungen für den keine Zuordnung zu dem Kunden besteht.
SQL-Code:
select * from TabelleC where Abteilung_ID not in (select Abteilung_ID from TabelleB where Kundennr=10);

Karstadt 26. Jun 2006 16:05

Re: SQL Abfrage aus drei Tabellen mit <> werten?
 
Das ist die Lösung! Danke. Warum diese Abfrage nicht funktioniert hat. Das weis ich echt nicht.

SQL-Code:
Select Distinct * from TabelleB INNER JOIN TabelleC ON Abteilungs_id=Abteilungs_ID Where Kundennr<>10


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz