3

電子メール アドレスごとに複数の行を持つデータベースの場合、各電子メール アドレスの「最新」情報を取得して、各電子メール アドレスでグループ化したいと考えています。

Email      Col1    Col2    Col3   Col4    CustomerID
=======    ====    ====    ====   ====    ==========
a@a.com    a       a       a      null    1
a@a.com    null    b       b      null    2
a@a.com    null    null    c      null    3

最高の .null 以外の値を取得したいCustomerID。上記について、私は期待します:

Email      Col1    Col2    Col3   Col4
=======    ====    ====    ====   ====
a@a.com    a       b       c      null

GROUP BY各列の を実行できますが、それは単純にアルファベット順の最大値であり、考慮されてMAXいません。CustomerID

SQL フィドル

SELECT EmailAddress, MAX(FirstName), MAX(LastName), MAX(Gender), MAX(Birthday), MAX(Country)
FROM CustomerInfo
GROUP BY EmailAddress

さらに、これは Exact Target でプログラムされています。つまり、一部の SQL キーワードがサポートされていません。最も顕著なのは、変数、一時テーブル、およびカーソルがサポートされていないことです。

これらの制限を考えると、望ましい結果を得ることができますか?

4

1 に答える 1