пРОБЛЕМА: сЛОЖНЫЕ зАПРОСЫ
Народ, плиз хелп. Не работают сложные запросы. Например на запрос "select * from post where id_post in (select id_post from postavka group by ib_post);" выдает: "error 1064 ... syntax error". Хотя по всем документациям, так должно работать. Может это и глюк, но повальный, ни у кого, где я пробывал, не работают сложныы запросы. В чем дело. Зарание благодарен за ответ.
На каких СУБД пробовал??? Попробуй поставить полные пути в имени таблицы и столбца т.е:
"select * from USER.post where POST.id_post in (select POSTAVKA.id_post from USER.postavka group by POSTAVKA.ib_post);"
На каких СУБД пробовал??? Попробуй поставить полные пути в имени таблицы и столбца т.е:
"select * from USER.post where POST.id_post in (select POSTAVKA.id_post from USER.postavka group by POSTAVKA.ib_post);"
Порпробывал, не работает, а версия у меня стоит 4.0.12. Все, у кого не спрашивал, говорят, что такого быть не может. Также пробывал на других версиях, какие точно не помню, но одна из них шла вместе с денвером, который я решил поставить, когда у меня так мускул не зарабол. Также пробывал на версии, если не ошибаюсь, третей. Причем на разных компах.
Порпробывал, не работает, а версия у меня стоит 4.0.12. Все, у кого не спрашивал, говорят, что такого быть не может. Также пробывал на других версиях, какие точно не помню, но одна из них шла вместе с денвером, который я решил поставить, когда у меня так мускул не зарабол. Также пробывал на версии, если не ошибаюсь, третей. Причем на разных компах.
Версия это конечно хорошо, но хотелось бы знать название СУБД, например IB, MYSql или ещё что :)
И ещё на какую часть запроса ругается???
И приведи если не трудно полный текст ошибки.
Просто запрос рабочий и синтаксически верный, поэтому теоритически могут быть траблы с диалектом SQL.
Версия это конечно хорошо, но хотелось бы знать название СУБД, например IB, MYSql или ещё что :)
И ещё на какую часть запроса ругается???
И приведи если не трудно полный текст ошибки.
Просто запрос рабочий и синтаксически верный, поэтому теоритически могут быть траблы с диалектом SQL.
MySql version 4.0.12.
Запрос верный и элементарный.
А вот полный текст ошибки:
"mysql>select * from post where id in (select id_post from postavka);
ERROR 1064: You have an error in youe SQL syntax/ Chek the manual that corresponds to your MySQL server version for the right syntax ti use near 'select id_pos from postavka)' at line 1"
просмотрел мануалы, там запрос написан также, но вот такие у меня глюки.
MySql version 4.0.12.
Запрос верный и элементарный.
А вот полный текст ошибки:
"mysql>select * from post where id in (select id_post from postavka);
ERROR 1064: You have an error in youe SQL syntax/ Chek the manual that corresponds to your MySQL server version for the right syntax ti use near 'select id_pos from postavka)' at line 1"
просмотрел мануалы, там запрос написан также, но вот такие у меня глюки.
Покопался в доках и вроде нашёл. Похоже конструкция IN с подзапросами не работает в версиях ниже чем 4.1.
Вобщем сам почитай:
http://en.mysql.ru/doc/en/Subqueries.html
http://en.mysql.ru/doc/en/Rewriting_subqueries.html
Покопался в доках и вроде нашёл. Похоже конструкция IN с подзапросами не работает в версиях ниже чем 4.1.
Вобщем сам почитай:
http://en.mysql.ru/doc/en/Subqueries.html
http://en.mysql.ru/doc/en/Rewriting_subqueries.html
Спасибо за помощь, попробую скачать.
Но они весять по 25 метров своличи.
потом сообщу результат.
Народ, плиз хелп. Не работают сложные запросы. Например на запрос "select * from post where id_post in (select id_post from postavka group by ib_post);" выдает: "error 1064 ... syntax error". Хотя по всем документациям, так должно работать. Может это и глюк, но повальный, ни у кого, где я пробывал, не работают сложныы запросы. В чем дело. Зарание благодарен за ответ.
Если ты так набрал и в программе, то действительно синтаксическая ошибка :)
select id:roll:_post from postavka group by ib:roll:_post
Если ты так набрал и в программе, то действительно синтаксическая ошибка :)
select id:roll:_post from postavka group by ib:roll:_post
Когда поставил пятую версию мускала все заработало и никакой синтаксической ошибки.
Когда поставил пятую версию мускала все заработало и никакой синтаксической ошибки.
MySQL только с версии 5 удовлетворяет SQL92 (во всяком случае они так говорят), а следовательно и вложенные селекты появились только сейчас!