# SQL-Ergebnis zwischenspeichern



## denyo-style (24. März 2005)

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:

```
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:

```
<?
 ...
 $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.


----------



## Sven Petruschke (24. März 2005)

Ist das Subselect wirklich nötig, oder lässt sich die Abfrage vielleicht auch durch Joins bewerkstelligen? MySQL beschreibt außerdem auf mehreren Seiten, wie sich SQL-Abfragen optimieren lassen. 

--> http://dev.mysql.com/doc/mysql/de/mysql-optimisation.html


----------



## denyo-style (24. März 2005)

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.


----------



## denyo-style (29. März 2005)

Kann mir jemand beim oben beschriebenen Problem helfen?


----------

