# Mehrere Tabellen abfragen



## Guest (11. Sep 2008)

Moin,

ich habe hier diese Abfrage:

SELECT *
FROM kunde a
LEFT JOIN branche2kunde c ON a.KD_ID = c.KD_ID
LEFT JOIN branche b ON b.BranchenId = c.BranchenId

Diese Abfrage soll einen Kundensatz selektieren und die zugehörigen Branchen.

Dadurch, dass ein Kunde mehrere Branchen haben kann, werden die Datensätze mehrfach ausgegeben, je nachdem
wieviel Branchen einem Datensatz zugewiesen wurde.

Nun suche ich nach dem Statement, dass den Kundensatz nur einmal ausgibt und die Branchen in einem Feld bzw in mehreren Feldern hinter den Kundendaten ausgibt und nicht einen Kundensatz mehrfach.

Kann mir jemand sagen ob das möglich ist ?


----------



## FArt (11. Sep 2008)

http://www.scholz-softwareentwicklung.de/de/thema-edv-it/datenbank/sql-select-distinct.php


----------



## Guest (11. Sep 2008)

DISTINCT kenne ich schon. Es hanldet sich aber nicht um doppelte Einträge. In meine Tabelle Kunde gibt es keine doppelten Einträge.  Die Tabelle Branche hat auch keine. 
Und branche2 kunde hat einfach nur die Foreignkeys aus Kunde und Branche.

Der Datensatz sollte dann so etwa aussehen:  name, strasse, plz, ort, ..... branche1, branche 2

oder

 name, strasse, plz, ort, ..... branche


wobei branche dann mehrere Einträge enthält  Energie, Sanitär , Heizungsbau 

Das ist mit Distinct nicht möglich ...


----------



## maki (11. Sep 2008)

So eine Möglichkeit kenne ich nicht, halte sie auch nicht für sinnvoll.

Wieso selektierst du alles von Kunde wenn dich die Branchen interessieren?


----------



## Guest (11. Sep 2008)

Hallo maki,

Nun ja, ich möchte gerne die komplette DB als XML File exportieren. Dazu muss ich alle Tabellen konkatenieren. 
Eine XML Export Funktion, um Daten ggf. für ein neues System aufzubereiten .

Hierzu will ich alle Kundendaten beisammen haben. 


Es macht halt insofern sinn, dass ich aus dem XML File leicht filtern muss, welcher Kunde zu welchen Branchen gehört.

Oder würdest du da mehrere Abfragen verwenden ?


----------



## maki (11. Sep 2008)

Mehrere Abfragen/views wären imho sinnvoll, mit einer einzigen wird das wohl nicht zu schaffen sein, das problem ist eben relationale Daten in eine hierarchische Struktur zu bringen.


----------



## mimo (11. Sep 2008)

Wenn du mehrere Abfragen realisieren möchtest solltest du dich mal mit Hibernate beschäftigen.


----------



## maki (12. Sep 2008)

mimo hat gesagt.:
			
		

> Wenn du mehrere Abfragen realisieren möchtest solltest du dich mal mit Hibernate beschäftigen.


Darf man fragen was Hibernate damit zu tun hat?


----------

