如何为单个组消除多个记录

时间:2014-12-05 08:14:37

标签: sql sql-server tsql

我必须为组G.Code,C.Code,DQ.PREFIX,DQ.DID,RPTH.RNUM检索DQ.QID。 在这里,我为同一组获得多个DQ.QID。

示例查询

SELECT DQ.QID,G.Code,C.Code,DQ.PREFIX,DQ.DID,RPTH.RNUM
FROM DQ 
     INNER JOIN RP on RP.RID=DQ.RID 
     INNER JOIN RPTH on RPTH.RPID=RP.RPID 
     INNER JOIN DPM on DQ.DID=DPM.DID 
     INNER JOIN CPPS on CPPS.CID=DPM.CID 
     INNER JOIN D on D.DID=CPPS.DID 
     INNER JOIN C on D.CID=C.CID 
     INNER JOIN G on C.GID=G.GID 
 WHERE DQ.DID=4

如何撰写查询?

1 个答案:

答案 0 :(得分:1)

很难找出你想要的东西

要么你需要看看GROUP BY; http://msdn.microsoft.com/en-us/library/ms177673.aspx 或制作你的集DISTINCT;

SELECT DISTINCT DQ.QID,G.Code,C.Code,DQ.PREFIX,DQ.DID,RPTH.RNUM
FROM DQ 
     INNER JOIN RP on RP.RID=DQ.RID 
     INNER JOIN RPTH on RPTH.RPID=RP.RPID 
     INNER JOIN DPM on DQ.DID=DPM.DID 
     INNER JOIN CPPS on CPPS.CID=DPM.CID 
     INNER JOIN D on D.DID=CPPS.DID 
     INNER JOIN C on D.CID=C.CID 
     INNER JOIN G on C.GID=G.GID 
 WHERE DQ.DID=4

你能否澄清一下你所追求的内容 - 或许提供你想要输出的例子?