Mailinglisten-Archive |
Hallo, Da ich nun die 27MB des Archives durch habe und nichts gefunden bzw alles übersehen habe muss ich mein Problem doch einmal hier schildern. 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. Ich möchte jetzt eine SELECT * Abfrage von der Tabelle 1 durchführen und nach jedem Satz eine Abfrage der Tabelle 2 starten in der geprüft wird ob kurz in der Tabelle 2 vorkommt. 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. In PHP würde ich das Ergebnisarray der ersten Abfrage Schritt für Schritt durchgehen und jedesmal eine neue Query starten bis das Array der ersten Abfrage durch ist. Das kostet je nach größe der Tabellen aber unmengen an Zeit! Hat jemand eine Idee wie ich beide Abfragen in eine packen kann? Gruß Frank -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive