2016-09-14 88 views
0

enter image description hereSQL选择具有相同的名称,但不止一种类型的te_source的

这是我的表中的记录,我想表明,具有相同的名称,但不止一种类型的te_source 的记录和这将导致只有

enter image description here

+0

感谢您的编辑@Siyual – Joker

+0

这是哪种RDBMS的用途?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –

回答

0

在这里,你有它(它只是要检查是否有名称相同,但不同的源行):

SELECT * 
FROM MY_TABLE 
WHERE EXISTS (SELECT * 
       FROM MY_TABLE as ALTERNATE_SOURCE 
       WHERE MY_TABLE.tep_first_name = ALTERNATE_SOURCE.tep_first_name and 
        MY_TABLE.tep_last_name = ALTERNATE_SOURCE.tep_last_name and 
        MY_TABLE.te_source <> ALTERNATE_SOURCE.te_source) 
+0

谢谢你的回答。 – Joker

0
SELECT 
    * 
FROM 
    MyTable 
WHERE 
    tep_PK IN 
    (
     SELECT 
      tep_PK 
     FROM 
      MyTable 
     GROUP BY 
      tep_PK 
     HAVING 
      COUNT(*) > 1 
    ) 
+0

不,这个SQL也会返回,例如DIONNEL WIGGINS,因为它有三行。但是,所有三行共享相同的te_source。这不是他要求的结果,他只能得到WILLIAMS KIMBERLY。 –

+0

我之前试过但不是正确:( – Joker

0

使用下面的查询。

SELECT * 
    FROM YourTable a 
    JOIN ( SELECT tep_lastname,tep_FirstName 
      FROM YourTable 
        GROUP BY tep_lastname,tep_FirstName 
      HAVING COUNT(DISTINCT te_source)>1)b 
    ON a.tep_lastname=b.tep_lastname AND a.tep_FirstName=b.tep_FirstName 
+0

这真的工作,但不要忘记组之前有 – Joker

+0

非常感谢你 – Joker

+0

是的..我通过我的电话回答..所以我错过了.. :)任何方式标记为正确回答如果它帮助你.. –

相关问题