重复行的SQL返回特定值

时间:2012-07-18 14:32:05

标签: sql distinct

这是我的问题

我正在使用批量导入将CSV文件导入表格(InputTable)。该表需要分为3个不同的表格。

表格是客户,儿童公司,联系人

客户与子公司以及联系人之间存在一对多的关系。

客户端表有两个字段(名称,状态)

使用此查询从dbo.InputTable中提取不同的名称很容易......

    insert into Client
    (
Name
    )
    select distinct Name
    from InputTable

此查询将插入此类数据

Name

One Company

Two Company

Three Company

然而,当我尝试这段代码时

    insert into Client
    (
 Name
     ,Status

    )
    select distinct Name
    from InputTable
    group by Name
    ,Status

我得到了这个结果

Name         | Status

One Company       | Active

Two Company       | Active

Two Company       | Terminated

Three Company     | Active

这是踢球者,如果客户端在一行中显示活动而不管有多少行,那么我需要在客户端表上显示该名称记录的活动

如果他们showin全部终止,那么我需要将已终止状态复制到该行的客户端表。

关于如何实现这一目标的任何想法?

提前谢谢

1 个答案:

答案 0 :(得分:0)

insert into Client (Name, status)
select name,
    min(status) as status
from InputTable 
group by name