電子メール アドレスごとに複数の行を持つデータベースの場合、各電子メール アドレスの「最新」情報を取得して、各電子メール アドレスでグループ化したいと考えています。
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
SELECT EmailAddress, MAX(FirstName), MAX(LastName), MAX(Gender), MAX(Birthday), MAX(Country)
FROM CustomerInfo
GROUP BY EmailAddress
さらに、これは Exact Target でプログラムされています。つまり、一部の SQL キーワードがサポートされていません。最も顕著なのは、変数、一時テーブル、およびカーソルがサポートされていないことです。
これらの制限を考えると、望ましい結果を得ることができますか?