0

これが私の問題です

一括インポートを使用して CSV ファイルをテーブル (InputTable) にインポートしています。このテーブルは、個別の値を持つ 3 つの異なるテーブルに分割する必要があります。

テーブルはクライアント、子会社、連絡先です

クライアントは、子会社および連絡先と 1 対多の関係を持っています。

クライアント テーブルには 2 つのフィールド (名前、ステータス) があります。

このクエリを使用して dbo.InputTable から個別の名前を取得するのは簡単です...

    insert into Client
    (
Name
    )
    select distinct Name
    from InputTable

このクエリは、このようなデータを挿入します

名前

一社

二社

三社

ただし、このコードを試すと

    insert into Client
    (
 Name
     ,Status

    )
    select distinct Name
    from InputTable
    group by Name
    ,Status

私はこの結果を得る

名前 | 状態

1 つの会社 | アクティブ

ツーカンパニー | アクティブ

ツーカンパニー | 終了しました

スリーカンパニー | アクティブ

ここにキッカーがあります。クライアントが1行でアクティブを表示している場合、行数に関係なく、クライアントテーブルのその名前レコードに対してアクティブを表示する必要があります

それらがすべて終了している場合は、その行の終了ステータスをクライアント テーブルにコピーする必要があります。

これを達成する方法についてのアイデアはありますか?

前もって感謝します

4

1 に答える 1

0
insert into Client (Name, status)
select name,
    min(status) as status
from InputTable 
group by name
于 2012-07-18T14:33:45.133 に答える