我有這個慢速查詢一個問題:查詢優化
SELECT c.*, csc1.changed_status
FROM contract c
LEFT
JOIN contract_status_change csc1
ON csc1.contract_status_change_id =
(SELECT csc2.contract_status_change_id
FROM contract_status_change csc2
WHERE csc2.contract_id = c.contract_id
ORDER
BY csc2.date_changed DESC
LIMIT 1
)
;
我有一個合同表和contract_status_change表,其中記錄狀態違反合同。此查詢加入合同的最新狀態,以便您可以獲得其當前狀態。
請你能幫我整理一下嗎?
-edit-
我的歉意。我已更新查詢以包括選擇實際的最新狀態。對困惑感到抱歉!
[This](http://www.dpriver.com/pp/sqlformat.htm?ref=g_wangz)也許? – Bojangles
選擇 'C'。* 從 ''contract'左C'加入''contract_status_change' ls' 上'ls'.'contract_status_change_id' ='ls'.'contract_status_change_id' 內加入''contract_status_change' SC ' on'c'.'contract_id' ='sc'.'contract_id' order by sc'.'date_changed' desc limit 1 – reggie