2013-02-18 2 views
0

Я использую MySql. , когда я выбрать несколько столбец из таблицыоперанд должен содержать 1 столбец mysql error при выборе

responsible_id, название

генерировать ошибку. Поэтому я не хочу выбирать несколько столбцов. Пожалуйста, помогите мне решить эту проблему.

select id, 
     title, 
     responsible_id, 
     project_id p_id,(select responsible_id,title from projects where p_id=projects.project_id) responsible_id, 
     status, 
     create_by, 
     milestone_id from tasks 

ответ

2

Вы не можете выбрать несколько столбцов из коррелированного подзапроса, таким образом.

JOIN две таблицы вместо, например:

select 
    t.id, 
    t.title AS TaskTitle, 
    t.responsible_id, 
    p.project_id p_id, 
    p.responsible_id, 
    p.title AS ProjectTitle, 
    t.status, 
    t.create_by, 
    t.milestone_id 
from tasks AS t 
INNER JOIN projects AS p ON t.p_id = p.project_id 
+0

Я обыкновение выигрыш использовать Объединить. Есть ли другая альтернатива? –

+0

@ GarthHuff Да, два взаимосвязанных подзапроса, один для ответственного_иды, а другой для заголовка. Но почему не 'JOIN' ?? –

+0

Я использую hibernate, и это не только этот запрос, но и слишком длинный запрос, чтобы .. –

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