sub-select

ohio

Erfahrenes Mitglied
hallo gemeinde,

führe ich folgende select-statements einzeln aus so erhalte ich die gewünschten ergebnisse, der subselect spuckt die höchste cronjob_id aus(ein datensazt) und das nachfolgende query ist auch in ordnung und zeigt die angeforderten sätze, auch wenn ich explizit für den $subselect ne zahl einsetzte. führe ich das query so aus ->

PHP:
$sub_select_1 = "SELECT MAX(cronjob_id) FROM pcontrl_log.pcontrl_recent_webserver_status";

$temp = "SELECT a.* ";
$temp.= "FROM pcontrl_log.pcontrl_recent_webserver_status AS a, pcontrl_content.pcontrl_domain AS b ";
$temp.= "WHERE a.webserver_id = b.webserver_id AND b.domain_id = '1' AND a.cronjob_id = ($sub_select_1)";

erhalte ich leider ->

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MAX(cronjob_id) FROM pcontrl_log.pcontrl_recent_webserve (#1064)

irgendwas grundlegendes will mir grad nicht in den sinn kommen, hoffe jemand von euch findet ne lösung für das peinliche missgeschick...

gruss ohio
 
Hi,

blöde Frage : Kann MySQL jetzt SubSelect's ???


Wenn ja, ok habe ich noch nicht mitbekommen, aber vielleicht passt
deine Version da nicht.

Gruß

Tex


NACHTRAG
gesehen bei MySQL.com
MySQL unterstützt momentan nur Sub-Selects der Form INSERT ... SELECT ... und REPLACE ... SELECT .... In anderen Zusammenhängen können Sie allerdings die Funktion IN() benutzen.

In vielen Fällen können Sie Ihre Anfragen ohne Sub-Selects schreiben:

SELECT * FROM tabelle1 WHERE id IN (SELECT id FROM tabelle2);

Das kann wie folgt umgeschrieben werden:

SELECT tabelle1.* FROM tabelle1,tabelle2 WHERE tabelle1.id=tabelle2.id;
 
Zuletzt bearbeitet:
hmm ja, das subselect's nicht funzen hätte mir irgendwie auch früher einleuchten können, danke für den tip!
 
Zurück