2010-12-04 2 views
0

Я пытаюсь написать SQL заявление для SQLite по следующим направлениям, где мне нужно только эти три поля из области задач:Может ли кто-нибудь объяснить эту синтаксическую ошибку SQL?

select (tasks.id, tasks.title, tasks.comment) from 
tasks inner join contexts_tasks on tasks.id = contexts_tasks.task_id 
where (contexts_tasks.context_id = 0); 

select * возвращает поля, которые я не заинтересован в том числе, но Я просто получаю это сообщение смутной ошибки, когда я пытаюсь сделать это так, как я сделал выше:

SQL error: near ",": syntax error 

Я не совсем уверен, что я делаю неправильно. Любые объяснения будут оценены.

+0

Удалить круглые скобки из `(tasks.id, tasks.title, tasks.comment)`? – Ken 2010-12-04 21:26:25

ответ

1

Как уже отмечалось, удалите скобки из полей в предложении SELECT. Кто-то, кто знает больше о внутренней работе SQL, может свободно корректировать/разрабатывать, но я думаю, что парсер запросов обрабатывает в скобках выражения как что-то, что нужно оценить. Обратите внимание, например, на скобки вокруг вашего предложения WHERE, который вычисляет логическое значение. Имена столбцов сами по себе не оцениваются ничем, кроме синтаксической ошибки. Если, с другой стороны, вы разместили подкоманду SELECT или иначе оцениваемое выражение в круглых скобках в своем предложении SELECT, оно будет анализировать его.

4

У вас не должно быть скобок вокруг элементов в списке SELECT. SELECT a, b, c FROM d WHERE e = 1.

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