2013-07-11 52 views
1

我當前有一個表項目(ID)和一個表project_step(ID,項目,步驟(整數))。MySQL鏈接表獲取與table.value分手的最後一行= X

1個項目鏈接到1個或多個project_step。

我想要得到的項目中最後一個進入project_step(project_step.id DESC)具有階梯= X.

我需要這樣做在子查詢的列表,但我不知道如何寫下來。

回答

1

該查詢將返回兩個表中的所有列。額外子查詢的目的是分別獲得表project_step上每project的最新ID

SELECT a.*, b.* 
FROM project a 
     INNER JOIN project_step b 
      ON a.ID = b.project 
     INNER JOIN 
     (
      SELECT project, MAX(ID) ID 
      FROM project_step 
      GROUP BY project 
     ) c ON b.project = c.project AND 
       b.ID = c.ID 
WHERE b.step = ? 
+0

我現在試一試這個權利,謝謝。我需要10/15分鐘,因爲這個查詢比這個複雜一點;) –

+0

和...它的工作非常感謝你JW(這有點超過了我的SQL技能) –

0

嘗試類似這樣的東西。

SELECT project.* from project_step 
JOIN project ON project.id = project_step.project 
GROUP BY project 
HAVING SUBSTRING_INDEX(GROUP_CONCAT(step ORDER BY step DESC SEPARATOR ' '), ' ', 1) = X 
相關問題