根据相同的ID导出不同的名称

时间:2019-04-18 20:56:51

标签: sql sql-server

我有一个表myTable,其中有列nameIdcode

myTable中的样本数据如下。

-------------------------
| name  | Id    | code  |
-------------------------
| XYZ   | A12   |  F1   |
| ABC   | B89   |  F2   | 
| WWW   | A12   |  G1   |
| GGT   | C87   |  G2   |
| NTA   | N33   |  H1   |
-------------------------

预期结果是

-------------------------
| name  | Id    | code  |
-------------------------
|  XYZ  | A12   |  F1   |
|  WWW  | A12   |  G1   |
-------------------------

有关更多详细信息,请检查以下图像。

enter image description here

2 个答案:

答案 0 :(得分:0)

尽管您的问题不清楚,但是简单的WHERE子句和DISTINCT关键字可以解决您的问题。

WITH uniqueNames AS (
    SELECT DISTINCT name
        FROM myTable
        WHERE id = 'A12'
)
SELECT t1.name, t1.id, t1.code
    FROM myTable t1
INNER JOIN uniqueNames ON uniqueNames.name = t1.names

答案 1 :(得分:0)

那你为什么不只用这个呢?

select name, id, code
from t
where id = 'A12';