【发布时间】:2014-03-20 13:21:37
【问题描述】:
我有 3 张桌子:opportunities、tr_opportunity_updates 和opportunities_tr_opportunity_updates_1_c。后者将opportunities 与opportunity_updates 关联起来。
我想获得 3 列,第一列是机会名称,第二列是对机会进行的最后更新,第三列是对机会进行的最后更新。
我正在尝试获得以下输出:
-----------------------------------------------
Opportunity | Last_Update | Second_Last update
-----------------------------------------------
Opp1 | update | second bla bla
-----------------------------------------------
Opp2 | Lastest up. | second bla bla
我有一个查询,它获取机会名称和最后一次更新,但我不知道如何获取第二个最后更新并将其添加为另一列。这会是一个子查询吗?如果是的话如何:
SELECT opportunities.name AS Opportunity, tr_opportunity_updates.description AS Last_Update
FROM opportunities
LEFT JOIN opportunities_tr_opportunity_updates_1_c ON opportunities_tr_opportunity_updates_1_c.opportunities_tr_opportunity_updates_1opportunities_ida = opportunities.id
LEFT JOIN tr_opportunity_updates ON opportunities_tr_opportunity_updates_1_c.opportunities_tr_opportunity_updates_1tr_opportunity_updates_idb = tr_opportunity_updates.id
WHERE opportunities.deleted = 0
GROUP BY opportunities.name
LIMIT 0 , 30
我试图为此实现一个 sql fiddle,但我的表和数据太大了,有许多不敬的字段,但是除了 date_created 之外,与上述查询相关的所有信息都在所有表中,可能需要获取最后第二次更新?
【问题讨论】: