Verknüpfung zweier Tabellen

M

MeinerEiner_80

Hi zusammen!
Ich sitze gerade vor einem kleinen Problemchen, wo mir mit meinen bescheidenen SQL Kenntnissen keine Lösung einfällt.
Folgende Ausgangslage (Hoffe meine Bildchen sind verständlich, aber das eindeutig in Worte zu fassen find ich ein wenig schwierig)
Ich habe hier 2 Tabellen. Eine Kundentabelle (Kunde), mit 2 Spalten Name und ID.

Name | ID
Kunde A | 1
Kunde B | 2


Weiterhin eine Tabelle welche Teilstrukturen des Kunden enthaelt (SubKunde).
Die Struktur sieht ungefaehr so aus:

(Kunde)ID| (SubKunde) ID | Subname
1 | 00 | A_a
1 | 11 | A_b
2 | 00 | B_a

Ich versuche nun schon die ganze Zeit eine Abfrage zu basteln, welche mir folgendes Ergebnis liefert:

Name | Subname1 | Subname 2
Kunde A | A_a | A_b
bzw.
Kunde B | B_a |

Aber irgendwie komm ich da auf keinen grünen Zweig. Hat da jemand eine Idee?
Genutzt wird übrigens eine Oracle 10 Datenbank.

*gruß*
MeinerEiner
Edit: Mist die Formatierung bleibt nicht vorhanden...
 
Wenn du Access hast, dann lass dir mit dem Assistenten eine Kreuztabellenabfrage ausgeben, dann weisst in ungefähr wie es funktioniert !
 
Leider hab ich kein Access und aus den Beispielen im Netz bezüglich Kreuztabelle werd ich nicht so wirklich schlau..

*grüssle*
MeinerEiner
 
Also hab für dich einmal eine erstellt:

Code:
TRANSFORM Count(Tabelle1.ID) AS [Anzahl von ID]
SELECT Tabelle1.Name
FROM Tabelle1
GROUP BY Tabelle1.Name
PIVOT Tabelle1.b1;

Die angehängte Assistensansicht und die ausgeführte Abfrage dürften dir auch noch mehr Licht ins Dunkle bringen !

Gruß Truck
 

Anhänge

  • ausgefuehrte_Abfrage.JPG
    ausgefuehrte_Abfrage.JPG
    15,2 KB · Aufrufe: 35
  • Entwurfsansicht.JPG
    Entwurfsansicht.JPG
    28,2 KB · Aufrufe: 33
Ich muss gestehen, ich habe keine Ahnung, wie mir das bei meinem Problem , beim Zusammenführen der beiden Tabelle helfen soll.
Ich möchte als Result ja auch keine neue Tabelle erhalten, sondern nur ein ResultSet mit den Daten...
Ist wohl doch net so ganz meine Welt :confused:

*grüssle*
MeinerEiner
 
SQL:
SELECT k.Name,s.Subname 
FROM kunde k JOIN subkunde s on s.KundeID = k.ID;

So bekommst du
Kunde A | A_a
Kunde A | A_b
Kunde B | B_a

Das kannst du dir dann doch in deinem Programm entsprechend zusammenbauen so wie du es haben möchtest.

Ansonsten hättest du ja das Problem dass du immer wenn es noch mehr Subkunden gibt auch noch eine zusätzliche Spalte im ResultSet hättest. Und Momentan ist mir der Sinn nicht klar warum die Datenbank das machen soll was man im Programm auch einfach hinbekommt.
 

Neue Beiträge

Zurück