Mailinglisten-Archive |
On Mon, 30 Dec 2002 15:52:35 +0100, you wrote: > Ich versuche so etwas wie eine Query in einer Query hinzubekommen die > sich auf zwei Tabellen bezieht. > In der ersten Tabelle habe ich vier Felder: > 1 = ID > 2 = KURZ > 3 = NAME > 4 = JAHR > > In der zweiten Tabelle sind es 7 Felder: > > 1 = ID > 2 = KURZ > 3 = STCK > 3 = ANZ > 4 = VER > 5 = GEW > 6 = UNE > 7 = KLA > > In der ersten Tabelle ist kurz unique in der zweiten Tabelle darf alles > doppelt und dreifach vorkommen. > > Mit zwei Abfragen sieht das dann ja ungefähr so aus! > > SELECT * from tabelle1 > SELECT sum(tabelle2.STCK) as summe, sum(tabelle2.ANZ) as anzahl, > sum(tabelle2.VER) as verbrauch, sum(tabelle2.GEW) as gewicht, > sum(tabelle2.UNE) as rest FROM tabelle2 WHERE (tabelle2.KURZ = > tabelle1.KURZ AND tabelle2.KLA = '1') ORDER BY verbrauch DESC; > > Das Ergebnis sollte dann wie folgt aussehen: > > KURZ|NAME|JAHR|SUMME|ANZHAL|VERBRAUCH| u.s.w > PPO |PLSW|2001|5 |15 |1787 | > KOO |DJWW|2002|772 |10028 |299 | > > Ich habe das jetzt schon mit INNER, OUTER und was es sonnst noch so für > JOINS gibt versucht aber irgendwie habe ich kein Glück dabei. Funktioniert die folgende Abfrage nicht? Wenn nein: Was ist an der Ausgabe verkehrt? SELECT tabelle1.KURZ, tabelle1.NAME, tabelle1.JAHR, sum(tabelle2.STCK) as SUMME, sum(tabelle2.ANZ) as ANZAHL, sum(tabelle2.VER) as VERBRAUCH, sum(tabelle2.GEW) as GEWICHT, sum(tabelle2.UNE) as REST FROM tabelle1,tabelle2 WHERE (tabelle2.KURZ=tabelle1.KURZ) AND (tabell2.KLA='1') ORDER BY VERBRAUCH DESC; Wenn ich Deine Anfrage richtig verstanden habe, dann sollte das genau die Ausgabe liefern, die Du haben willst. Wenn nicht, dann sag bitte, was Dich an der Ausgabe stört. ciao, Sven -- Sven Mueller Tel: +49-231-401550 Giessereistr. 11a Mobil: +49-172-2323802 D-44289 Dortmund web: http://incase.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive