Thread sql-Abfrage ueber 3 Tabellen (2 answers)
Opened by Uturn at 2012-02-13 17:39

Gast Uturn
 2012-02-13 17:39
#156075 #156075
Hi,

gegeben:

Tabelle 1 'aufgaben'
- aid
- datum
- aufgabe
- projekt_id (ref auf Tabelle2 Projekte)

Tabelle 2 'projekte'
- pid
- projekt
- kunde_id (ref auf Tabelle3 Kunden)

Tabelle 3 'kunden'
- kid
- name

Ich moechte nun einen select ueber alle Tabellen machen und pro Kunde die ersten 5 zum Kunden gehoerenden Aufgaben auflisten, also:

Kunden.name:
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung

Kunden.name:
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung
- Aufgaben.bezeichnung

....

Ich hab bis jetzt:

Code (perl): (dl )
1
2
3
4
5
6
my $aufgaben = $db->query('select aufgaben.aufgabe, kunden.name FROM aufgaben, projekte, kunden WHERE aufgaben.projekt_id = projekte.pid AND projekte.kunde_id = kunden.kid')->hashes;

foreach my $aufgabe (@$aufgaben) {
    print "$aufgabe->{name}"\n";
    print "\t$aufgabe->{aufgabe}\n";
}


Damit bekomm ich zwar alle Aufgaben, aber ich hab ueber jeder Aufgabe den Kundennamen stehen und den will ich ja nur 1x als Headline quasi. Des weiteren weiss ich nicht, wie ich den LIMIT 5 auf die kunden.kid festlegen kann, denn ich moechte ja nicht insgesamt nur 5 sondern 5/Kunde.

Oder geht das so garnicht und man muesste das DB-Layout optimieren/aendern? Thx
Last edited: 2012-02-13 17:53:13 +0100 (CET)

View full thread sql-Abfrage ueber 3 Tabellen