Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

MySQL. Вложенные запросы   Найти похожие ветки 

 
Дмитрий Д.   (2006-07-14 16:13) [0]

Пытаюсь выполнить запрос:
SELECT Message_ID FROM Message38 WHERE Priority < (SELECT Priority FROM Message38 WHERE Message_ID=4)

В результате ошибка синтаксиса :(
Думаю смысел ясен, что надо получить. На сервере стоит MySQL 4.1


 
Johnmen ©   (2006-07-14 16:21) [1]

Текст ошибки?


 
MsGuns ©   (2006-07-14 16:21) [2]

В запросе неоднозначность - т.е. вместо одного значения подзапрос молжет венрнуть несколько.
ИМХО, следует использовать конструкцию EXIST или IN


 
Desdechado ©   (2006-07-14 16:25) [3]

А через соединение таблиц не получится?


 
Ломброзо ©   (2006-07-14 16:27) [4]

>В запросе неоднозначность - т.е. вместо одного значения подзапрос молжет
>венрнуть несколько.

Не факт. Эта ошибка возникнет только на этапе исполнения, если подзапрос действительно возвращает несколько записей.

А что с версией MySQL? Подзапросы поддерживаются только начиная с версии 4.1.7.


 
Дмитрий Д.   (2006-07-14 16:30) [5]

Упс, извиняюсь! На срвере стоит MySQL 4.0.27
Соответственно вложенные запросы не поддерживаются :-( Прошляпил...
Тогда как переписать это выражение, чтобы оно работало на данной версии?
К сожалению я не силён во всяческих объединения типа UNION, INNER JOIN и т.д.


 
Ломброзо ©   (2006-07-14 16:34) [6]

Никак. Только через сохранение временной переменной в вызывающем коде.

Хотя... Вроде бы как там есть что-то вроде временных параметров, с префиксом "@". Точно не помню... пошукайте в документации. Суть в том, что на сервер можно послать пакет команд через точку с запятой и сохранять промежуточные результаты в этих вот параметрах.


 
Johnmen ©   (2006-07-14 16:40) [7]

Что-то типа того
SELECT T1.Message_ID
FROM Message38 T1, Message38 T2
WHERE (T1.Priority < T2.Priority) AND (T2.Message_ID=4)



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
2-1157091092
yel
2006-09-01 10:11
2006.09.17
Передать массив в подпрограмму


6-1146415451
CyMKuH
2006-04-30 20:44
2006.09.17
IP &amp; Internet


4-1147722705
Mr tray
2006-05-15 23:51
2006.09.17
из хук-DLL узнать значение переменной в моей программе


1-1154507212
elena_pp
2006-08-02 12:26
2006.09.17
Как в Excel задавать формулу ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;F2:F10)


15-1156046543
PSPF2003
2006-08-20 08:02
2006.09.17
Альтернатива Adobe Reader