Thread sql-Abfrage ueber 3 Tabellen
(2 answers)
Opened by Uturn at 2012-02-13 17:39
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) |