我有3个关于抱怨的表格。第一个表格由投诉信息本身组成,第二个表格是status_id的complain_review,第三个表格是状态信息的status_id表格。我试图从抱怨中选择抱怨_desc和抱怨_查看中的最新status_id(按日期desc排序),并将其与抱怨状态信息耦合起来。子查询和联接
这是我已经试过(没有成功至今):
SELECT c1.complain_desc, c2.status_id, c2.name as statusDesc from complain c1
left join
(SELECT c3.status_id, c4.name, c3.complain_id FROM complain_review c3
inner join complain_status c4 on c4.id=c3.status_id ORDER by c3.date DESC) c2
on c2.complain_id=c1.id
这是@maheshiv
提供的最新例子。我已经经历了网站,但我不搜索“T确切地知道关于这件事情:(搜索哪些关键字
编辑:我在http://sqlfiddle.com/#!9/d86a7a/2建立一个架构,以便也许有人可以给需要在表更好看
编辑:也许这将是最接近的,因为我可以得到..和工作!
SELECT c.complain_desc, cr1.status_id, cs.name
FROM complain c
INNER JOIN complain_review cr1 ON c.id=cr1.complain_id
INNER JOIN complain_status cs ON cs.id=cr1.status_id
WHERE cr1.date = (SELECT MAX(cr2.date) FROM complain_review cr2
WHERE cr1.complain_id = cr2.complain_id)
,你能告诉我们的所有列名的所有3个表? – SaggingRufus
请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry
第三表在哪里? – maheshiv