phpbar.de logo

Mailinglisten-Archive

Abfrage in Anfrage?

Abfrage in Anfrage?

Frank Liebelt frank.liebelt@acst.de
Mon Dec 30 14:52:35 2002


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