mySQL IN

3 отговора 204 прегледа
#1

mySQL IN

Здравейте!

Имам следния проблем:
Искам да направя нещо от сорта:

select * from test1 where id in (select id from test2);

Грешката, която ми дава е :

ERROR 1064: You have an error in your SQL syntax near 'select id from test2)' at line 1

Ако вместо select-statement във IN клаузата задам лист със стойности, разделени със запетая работи! Например:

select * from test1 where id in (1,2,3);

Въпросът ми е как да го накарам да работи със select в IN клаузата. Според документацията би трябвало 1вото да е напълно коректно query. Чудя се дали може да е от това, че mysql-a ми е част от phpdev bundle-a. Направо не знам вече; помагайте

mysql 4.0.0-alpha-nt

Благодаря предварително!!

Отговор
в отговор на rahj #2

Re: То бива мързел ама чак толкоз ...

Можеше поне да погледнеш ръководстово и да видиш, че подзаявките (subqueries) се поддържат от 4.1.0 нагоре

Можеше да си изтеглиш поне стабилна версия на 4.0 (4.0.26 от Септември 2005 а не 4.0.0-alpha от Октомври 2001 !!!

Можеше за си изтеглиш текущата 5.0 или поне 4.1 версия

Да не говорим пък, че изобщо не ти трябва подзаявка ами най-простото:

SELECT test1.* FROM tes1, test 2 WHERE test1.id = test2.id;

salle.online.bg/sig
Отговор
в отговор на salle #3

Re: То бива мързел ама чак толкоз ...

Мерси!
Прав си - не трябва да има прошка за мързела

Отговор
в отговор на rahj #4

Re: То бива мързел ама чак толкоз ...

Дядо ми казваше:
- Той мързела не мори ама мъчи.

salle.online.bg/sig
Отговор