1.如分别有A,B,C,D四张表,A,B,C,D关联在一起如:SELECT * FROM((A Inner join B By A.Id =B.AId) Inner join C By B.Id =C.BId)Inner join D By C.Id =D.CId Where 条件一 AND 条件二... ORDER BY D.Time ASC
取出来的结果集中去掉A表中ID重复对应的记录(因为A表与其B,C,D表是一对多的关系),只留下A表Id不相同(相同的只留下一个)的记录。请问Sql语句应该怎么写能?
测试了使用:
1.SELECT DISTINCT FROM(SELECT * FROM((A Inner join B By A.Id =B.AId) Inner join C By B.Id =C.BId)Inner join D By C.Id =D.CId Where 条件一 AND 条件二... ORDER BY D.Time ASC)
结果是错误的。
2.SELECT * FROM((A Inner join B By A.Id =B.AId) Inner join C By B.Id =C.BId)Inner join D By C.Id =D.CId Where 条件一 AND 条件二... GROUP BY A.Id ORDER BY D.Time ASC)
提示错误。
用group by A.id。