Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
IN und Unterabfrage [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
IN und Unterabfrage


 
NilsV
10-11-2005, 15:50 
 
Hallo zusammen..

folgender Text
$test=mysql_query("SELECT * FROM cms_hotels WHERE id IN (SELECT hotel_id FROM cms_hotelkat)")
or die (mysql_error());

gibt das wunderbar hilfreiche "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 hotel_id FROM cms_hotelkat)' at line 1" aus. So weit, so gut.

Nur behauptet das Manual, das
SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2); richtig ist.

Wer kann mir da helfen?
Danke schon mal.

 
TobiaZ
10-11-2005, 16:07 
 
Ein Vergleich der MySQL-Versionen?

 
NilsV
10-11-2005, 16:17 
 
Och nööö ;)
Client API version 4.0.20

2.8.2. Dinge, die in naher Zukunft erledigt werden müssen

Unteranfragen (Subqueries). select id from t where grp in (select grp from g where u > 100)


Wie könnte man das denn alternativ erledigen? MySQL-Version kann ich nicht ändern, würde das mit nem "normalen" Array anstelle der Unterabfrage funktionieren?

Danke ;)

 
mrhappiness
10-11-2005, 16:23 
 
Ja, das würde es.

Du kannst aber auch mit einem JOIN arbeiten
SELECT h.*
FROM cms_hotels h
INNER JOIN cms_hotelkat k ON h.id = k.hotel_id

 
NilsV
10-11-2005, 19:14 
 
Die Joins, da war was..
Da blätter ich doch direkt noch mal als Auffrischung in meinem SQL-Buch nach, vielen Dank!


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:38 Uhr.