我有这个慢速查询一个问题:查询优化
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