Mysql оставил соединение с другой таблицей с переданной переменной - PullRequest
0 голосов
/ 29 октября 2011

У меня есть 2 таблицы с именами projects и tracklines Каждый проект может иметь несколько треклайнов.

У меня есть оператор SQL, который будет проходить через мои проекты, но я хочу иметь возможность присоединиться к таблице треклайнов только с 1 строкой. Я хочу получить все треклайны, которые являются частью проекта, упорядочить их на основе более чем одного поля и выполнить ограничение LIMIT 1, чтобы у меня был один треклайн, к которому я присоединяюсь с моим проектом.

Это то, что я имею до сих пор:

SELECT Project.* FROM `project` AS `Project`
LEFT JOIN (
    SELECT *
    FROM `trackline`
    WHERE `trk_deleted` = '0'
    ORDER BY `trk_state`, `trk_status`
    LIMIT 1
) t ON t.`trk_project` = `prj_id`
ORDER BY `prj_name`

Проблема в том, что я не получаю значения trk_state и trk_status в моем внешнем запросе.

Я думал, что мой подзапрос может иметь ГДЕ trk_project = prd_id, но я не уверен, как этого добиться.

1 Ответ

1 голос
/ 29 октября 2011

Вам также нужно извлечь значения из этой производной таблицы:

SELECT Project.*, t.*
FROM ...

сейчас он извлекает ТОЛЬКО поля из таблицы Project.

...