2014-03-11 2 views
0

У меня есть ошибка в моем коде SQL:подзапросов внутри IF() функции

SELECT IF(1>2,select * from table2,select * from table1) 

это делают следующую ошибку

#1064 - 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 * from table2,select * from table1)' at line 1 

я не знаю, почему это; У меня есть несколько запросов на основе условия, но я наклоняю запустить простой, если заявление пожалуйста, помогите

+0

возможно дубликат [MySQL 'IF' в 'SELECT' о] (http://stackoverflow.com/questions/5951157/mysql-if-in-select-statement) – Naeem

+1

это не Проблема PhpMyAdmin. Недопустимый код SQL просто не будет работать нигде. Я редактировал вопрос, чтобы удалить ссылки. –

ответ

0

попробуйте следующее: Убедитесь, что вы используете правильную базу данных, которая включает в себя эти две таблиц (table1, table2)

DELIMITER | 
    CREATE FUNCTION dataselect() 
    BEGIN 

    CASE 1>2 
     WHEN 1 THEN select * from table2; 
     WHEN 0 THEN select * from table1; 
    END CASE; 
    END; 

    | 

, а затем назвать его:

CALL dataselect(); 
+0

сейчас я просто попробую ваш код сделать следующую ошибку '# 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'BEGIN' –

+0

. Я ИЗМЕНИЛ НЕКОТОРЫЕ ИЗМЕНЕНИЯ, ПОЖАЛУЙСТА, ПРОЧТИТЕ ЭТО – uvais

+0

Спасибо за помощь –

Смежные вопросы