【发布时间】:2011-12-17 14:40:42
【问题描述】:
我有 2 个名为 projects 和 tracklines 的表
每个项目都可以有多个轨迹线。
我有一个 SQL 语句将遍历我的项目,但我希望能够加入只有 1 行的 trackline 表。我想要做的是获取属于项目一部分的所有轨道线,根据多个字段对它们进行排序并对其执行 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 值。
我在想我的子查询可能有 WHERE trk_project = prd_id 但我不知道如何实现。
【问题讨论】:
标签: php mysql join subquery left-join