AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage aus drei Tabellen mit <> werten?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage aus drei Tabellen mit <> werten?

Ein Thema von Karstadt · begonnen am 26. Jun 2006 · letzter Beitrag vom 27. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

SQL Abfrage aus drei Tabellen mit <> werten?

  Alt 26. Jun 2006, 13:53
Datenbank: Mysql • Version: 4.1 • Zugriff über: MYDAC
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
  Mit Zitat antworten Zitat
morri

Registriert seit: 6. Jun 2006
Ort: Wuppertal
106 Beiträge
 
Delphi 7 Professional
 
#2

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

  Alt 26. Jun 2006, 14:05
Ich denke dir hilf ein INNER JOIN:

SQL-Statement:
select * from TabelleB INNER JOIN TabelleC ON Abteilung_id=Abteilung_ID where Kundennr=10
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

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

  Alt 26. Jun 2006, 14:21
...nun habe ich alle abteilungen... wie kriege ich nun keine abteilungen?
  Mit Zitat antworten Zitat
morri

Registriert seit: 6. Jun 2006
Ort: Wuppertal
106 Beiträge
 
Delphi 7 Professional
 
#4

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

  Alt 26. Jun 2006, 14:25
??

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...
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#5

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

  Alt 26. Jun 2006, 14:29
..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)..
  Mit Zitat antworten Zitat
morri

Registriert seit: 6. Jun 2006
Ort: Wuppertal
106 Beiträge
 
Delphi 7 Professional
 
#6

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

  Alt 26. Jun 2006, 14:33
Kannst du dir nicht mal bitte selber ein paar sql-Befehle raussuchen?


Select Distinct * from TabelleB INNER JOIN TabelleC ON Abteilungs_id=Abteilungs_ID Where Kundennr<>10
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#7

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

  Alt 26. Jun 2006, 14:55
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...
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#8

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

  Alt 26. Jun 2006, 15:31
..hat jemand eine Idee oder habe ich bei der Abfrage irgendwas nicht beachtet.

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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

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

  Alt 26. Jun 2006, 15:49
Ich würde die Abfrage von der anderen seir aufziehen, also alle Abteilungen für den keine Zuordnung zu dem Kunden besteht.
select * from TabelleC where Abteilung_ID not in (select Abteilung_ID from TabelleB where Kundennr=10);
Markus Kinzler
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#10

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

  Alt 26. Jun 2006, 16:05
Das ist die Lösung! Danke. Warum diese Abfrage nicht funktioniert hat. Das weis ich echt nicht.

Select Distinct * from TabelleB INNER JOIN TabelleC ON Abteilungs_id=Abteilungs_ID Where Kundennr<>10
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz