SQL查询获取不同的记录

时间:2010-07-01 12:57:58

标签: sql

我需要查询帮助才能从表中获取不同的记录。

            SELECT distinct cID, firstname, lastname,
             typeId, email from tableA 

typeId和email在表格中有不同的值。我知道这个导致返回2条记录,因为这些值是不同的。

无论如何我可以为每个cID获得1条记录,无论typeId和电子邮件是什么?

3 个答案:

答案 0 :(得分:0)

如果您不关心每个cID选择哪种typeId和电子邮件,以下是一种方法。

SELECT  DISTINCT a.cID
        , a.firstname
        , a.lastname
        , b.typeId
        , b.email 
FROM    TableA a
        INNER JOIN (
          SELECT  cID, MIN(typeID), MIN(email)
          FROM    TableA 
          GROUP BY
                  cID
        ) b ON b.cID = a.cID

答案 1 :(得分:0)

如果typeId和email的任何一个值都可以接受,那么

SELECT cID, firstname, lastname, 
  max(typeId), max(email)
 from tableA
 group by  cID, firstname, lastname, 

应该这样做。

答案 2 :(得分:0)

这就是你所追求的:?

  

选择不同的a.cID,a.firstname,   a.lastname,(来自tableA的SELECT typeId   WHERE cID = a.cID),(从中选择电子邮件)   来自tableA的tableA WHERE cID = a.cID)   作为