Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Вложенный SELECT в MySQL (http://forum.oszone.net/showthread.php?t=53392)

LEXX2002 02-09-2005 10:52 352718

Вложенный SELECT в MySQL
 
На локальной машине без проблем работает запрос типа

SELECT *
FROM user
WHERE id=(
SELECT user
FROM session
WHERE time > '1125637216'
AND id_session = '395a041d31c8a0dae64ad8d9ca33228c'
LIMIT 1
)
LIMIT 1


На хостинге выдает ошибку, #1064 - You have an error in your SQL syntax..

Кто сталкивался с такой проблемой, как её решали, не хочется переписывать в 2 запроса.

LEXX2002 02-09-2005 11:11 352725

а, вот нашёл как можно подругому составить запрос:

пример:

Код:

SELECT onum, amt, odate, cnum, Orders.snum
FROM Orders, Salespeople
WHERE Orders.snum = Salespeople.snum
AND Salespeople.city = "London";

то что мне нужно, но как написано в мануале:

Хотя это и произведет тот же самый вывод что и в примере с подзапро-
сом, SQL должен будет просмотреть каждую возможную комбинацию строк из
двух таблиц и проверить их снова по составному предикату.

XCodeR 02-09-2005 17:59 352851

Цитата:

SELECT *
FROM user
WHERE id=(
SELECT user
FROM session
WHERE time > '1125637216'
AND id_session = '395a041d31c8a0dae64ad8d9ca33228c'
LIMIT 1
)
LIMIT 1
о ужас!...
Цитата:

SELECT onum, amt, odate, cnum, Orders.snum
FROM Orders, Salespeople
WHERE Orders.snum = Salespeople.snum
AND Salespeople.city = "London";
так намного лучше....

LEXX2002 02-09-2005 21:34 352901

да, только таблица большая, и сравнивать каждую строчку с каждой строчкой не очень хорошо, представляю какие будут торомоза в будушем, так что ничего не остаётся делать как всё это писать в 2 запроса.

Prisoner 03-09-2005 12:56 353005

На хостинге стоит mySQL ветки не 4.1. Потому подзапросы и трактуются как ошибка синтаксиса. Потому-то и ориентироваться надо не на то, что дома, а что на сервере.

LEXX2002 03-09-2005 16:58 353037

да, в суппорте хостинга мне сказали что у них другая версия. Но удобно же когда можно одним запросом обработать, согласись

E-mail 05-09-2005 23:52 353490

а разве вложенные запросы mysql версии младше 5.0 понимает?

scazy 06-09-2005 00:07 353494

с версии 4.1 реализованно


Время: 17:39.

Время: 17:39.
© OSzone.net 2001-