私は単一のidに対して複数のレコードを生成する次のクエリを持っています。私は1つのレコードにこれらの複数のレコードをマージする方法を把握しようとしている:複数のレコードを1つのレコードにマージする
SELECT DISTINCT id, gender, dateofbirth, city, state, zip
FROM t
これは私に次のResultSetを与える可能性があります
1, M, 2000-01-01, dallas, tx, 12345
1, M, 2000-01-01, NULL, NULL, NULL
私がしたいことは、単一のレコードです:
1, M, 2000-01-01, dallas, tx, 12345
第二行は、異なるデータを有する場合に同様のシナリオが発生する:
1, M, 2000-01-01, dallas, tx, 12345
1, M, 2000-01-01, houston, tx, 67890
この場合、idごとに1つのレコードしか持たないために、レコードの1つを選択し、もう一方を無視したいと思うでしょう。
PostgreSQLでこれを行う方法はありますか?私は役に立たない合体を試み、これを処理する方法があるかどうか疑問に思っています。
そのテーブルにプライマリキーがなく、固有の列はありませんか? – michaJlS
'1、M、2000-01-01、NULL、NULL、45678'と' 1、M、2000-01-01の行が2行(表示した行に加えて)2行追加されているとしたらどうでしょうか? 、NULL、 'wa'、NULL'すべての列がNULLでない行を少なくとも1つは常に持っていますか? –