Tobias Kloth: SELECT in WHERE Klausel

Beitrag lesen

Hallo Klaus,

SELECT id FROM table1 WHERE aktiv = '1';
$wert = "$row->id,";

das wird nicht funktionieren, da "SELECT ... WHERE userid IN (123,)" ungültiges SQL ist, du müsstest schon die IDs in einem Array sammeln und sie per implode() "zusammenkleben"

SELECT * FROM table2 AS tab1 WHERE tab1.userid IN(SELECT tab2.id FROM table1 AS tab2 WHERE tab2.aktiv = '1');

ungetestet, sollte aber funktionieren:

SELECT b.*  
  FROM table1 as a, table2 as b  
  WHERE a.id=b.userid AND a.aktiv=1

(das b.* sollte natürlich noch durch die abzufragenden Spaltennamen ersetzt werden ...)

Oder unterstützte MySQL 3.x die verschachtelte SQL Abfrage nicht?

richtig, Subquerys unterstützt mysql erst ab Version 4.1

Grüße aus Nürnberg
Tobias