SQL-Ergebnis zwischenspeichern

denyo-style

Mitglied
Hallo alle miteinander,

ich habe eine Frage und hoffe Ihr könnt sie mir beantworten.
Ich habe mehrere Tabellen in einer MS-SQL Datenbank. Ich habe eine etwas größere SQL-Abfrage, die mit folgendem Prinzip arbeitet:

Bsp:
PHP:
SELECT * FROM Tabelle1,(
    SELECT * FROM Tabelle2
    WHERE ....
) AS NeueTabelle2
Diese Abfrage funktioniert auch, sie dauert nur sehr lange. Mein Ziel ist es diese zu optimieren und besser zu kontrollieren.
Nun zu meiner Frage:
Ist es mit PHP möglich das Ergebnis von der 2. SQL-Abfrage (SELECT * FROM Tabelle2 WHERE ....) in Arrays o. ä. zwischenzuspeichern, so dass ich dieses Ergebnis in der nächsten SQL-Abfrage nutzen kann?

Hier ein Theorie-Beispiel zu dem, was ich meine:
PHP:
<?
 ...
 $query = "SELECT * FROM Tabelle2 WHERE SpalteX = 'Wert1'";
 $res = mysql_query($query);
 for($i=0;$i<mysql_num_rows($res);$i++)
 {
    $array['SpalteX'][$i]  = mysql_result($res, $i, "SP1");
    $array['SpalteY'][$i]  = mysql_result($res, $i, "SP2");
 }  

 $query = "SELECT * FROM Tabelle1, ( $array ) AS NeueTabelle2";
 $res = mysql_query($query);
 for($i=0;$i<mysql_num_rows($res);$i++)
 {
   ...
?>

ich hoffe, dass ich die Frage verständlich dargestellt habe.

Ich habe bereits die Suchfunktion benutzt, habe aber nichts passendes gefunden.
 
Der Subselect ist leider nötig. Das von mir gepostete SQL-Beispiel ist nur ein kleiner Teil von der original Abfrage. Die originale ist viel größer und hat noch mehrere Subselects.
Daher ist es mein Hauptziel, diese SQL-Abfrage besser zu kontrollieren. Das kann ich am besten, wenn ich sie in ihre einzelteile zerlege.

Danke für diesen Link, dieser wird mir sicherlich bei meinen anderen SQL-Abfragen helfen.
 
Zurück