簡體   English   中英

MySQL左連接與另一個帶有傳遞變量的表

[英]Mysql left join with another table with passed variable

我有2個表分別命名為projectstracklines每個項目可以有多個跟蹤線。

我有一條將遍歷我的項目的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_statetrk_status值。

我當時在想我的子查詢可能有WHERE trk_project = prd_id但是我不確定如何使這種情況發生。

您還需要從該派生表中提取值:

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

現在,它僅從Project表中檢索字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM