On this question我收到了一個運行良好的答案。我現在想知道是否有更好的結構。我應該在表中創建一個新字段還是隻選擇第二個表的最大值
我有兩個表。
Projects : id, title
Status : project_id, status_id, created(DATETIME)
此刻讓我的項目的狀態,我得到的項目ID和拉最新行了基於項目的ID狀態表中。要獲得這個最新的排是相當麻煩。
我是否應該將模式更改爲此?
Projects : id, title, current_status_id(FK)
Status : id(PK), project_id, status_id, created(DATETIME)
然後我就可以參加與FK表,並得到我想要的行不看最新的?
編輯:
所以我想是這樣的
SELECT * FROM projects
LEFT JOIN status on projects.id = status.project_id
WHERE projects.id = 1
但我想只有在狀態表中的最新記錄。
編輯2:
所以我想是這樣的
SELECT * FROM projects
LEFT JOIN status on projects.id = status.project_id
但對於每一個項目回來,只得到從狀態是PROJECT_ID最新狀態記錄。
這將使用一個單獨的查詢。我想加入一個查詢速度 – 2013-03-06 21:13:18
不計算?兩者都是針對不同目的的單個查詢(所以你只需要選擇1個),'一個查詢加入速度'=>我不明白你的意思。 – Wrikken 2013-03-06 21:17:33
我很想選擇該項目,並在該查詢中出現狀態。這是不是更快,然後執行兩個查詢? – 2013-03-06 21:20:00