Mysql左侧与另一个传递变量的表连接

时间:2011-10-28 21:13:05

标签: php mysql join subquery left-join

我有2个名为projectstracklines的表 每个项目都可以有多个跟踪线。

我有一个SQL语句将遍历我的项目,但我希望能够只用1行加入trackline表。我想要做的是获取属于项目一部分的所有轨迹,根据多个字段对它们进行排序并对其进行限制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_statetrk_status值。

我在想我的子查询可能有trk_project = prd_id,但我不知道如何实现这一点。

1 个答案:

答案 0 :(得分:1)

您还需要从该派生表中提取值:

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

现在它只检索Project表中的字段。