ID・名前・カナ・備考の4項目をもつ氏名テーブルがあり、同じ名前・カナのレコードはまとめてしまいたいと考えています。
IDは最小のものを、備考は全レコードをくっつけて一つのレコードにする予定です。
Group Byしてcount(*)>1の名前・カナを抜き出し、抽出した名前・カナでWhereしてMIN(ID)や備考をSELECTしたいのですが、カナ=NULLの場合があり、Group ByまではできてもWhereでSelectすることができません。
nvl(カナ,'999999')=nvl(抽出したカナ,'999999')だとWhereで取得することもできるのですが、カナ='999999'と入力されているとNULLとの区別がつかなくなります。
Is NULLを使わず、NULL項目をWhere条件で取得する方法をご存知の方、教えてください。よろしくお願いします。
サンプルとして単純なテーブルを例にあげましたが、実際は数十の列項目をもつ数十のテーブルです。列項目の中には4000バイトのものもあります。
完璧にやるのならGroup Byせず、全レコードをOrder Byしてキーが変わったら更新するというやり方が望ましいのでしょうが、レコード数が多く、パフォーマンス的にあまり望ましくありません。
できるだけ作業が簡単な方法だと助かります。
No.1ベストアンサー
- 回答日時:
>Is NULLを使わず、
これに関しては、こんな感じ。
select *
from
TARGET X,
(select 名前,カナ from TARGET group by 名前,カナ having by count(*) > 1) Y
where decode(X.名前,Y,名前,1,0)=1 and decode(X.カナ,Y,カナ,1,0)=1;
比較演算子(=)は使えないけど、DECODE関数はNULLでも適切な評価をします。
最後の更新がどうたら・・というあたりは言わんとすることが理解できません。
お礼が遅くなって申し訳ありません。ご回答ありがとうございます。比較する項目をイコールで結ぶことばかり考えていたので目からウロコです。勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle SQL update方法 2 2022/06/22 14:07
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL*Loader Append
-
2つの情報を1つのSQLで取...
-
where句中のtrim関数について
-
これをSQL文で出来るでしょうか?
-
VBScriptにて、csvファイルから...
-
Insert文直後に自動採番(auto_i...
-
OUTER JOIN とgroup by
-
最大値の数をカウントしたい
-
割合(パーセント)を求めるには?
-
テーブルの最後(最新)のレコー...
-
複数のテーブルから値を合計出...
-
SQL文 複数実行
-
select文の実行結果に空白行を...
-
ファイルメーカーのフィールド...
-
エクセルでの一つのシートだけ...
-
DISTINCTROWについてです。
-
mysqlのif文かcase文で複数条件...
-
DATE型に文字列込みの日付を格...
-
phpMyAdminでインポート
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
【PL/SQL】FROM区に変数を使う方法
-
AccessのSQL文で1件のみヒット...
-
SELECT FOR UPDATE で該当レコ...
-
where句中のtrim関数について
-
group byの並び順を変えるだけ...
-
アクセスのレポートでレコード...
-
SQLで条件にヒットしたレコード...
-
ORMについて
-
トランザクションログを出力せ...
-
SQL*Loader Append
-
データ
-
「数字で始まらない」ものを抽...
-
引数によってwhere句を切り替え...
-
BLOB型項目をSQLの検索条件に指...
-
osqleditについて
-
大量レコードをTRUNCATEせずに...
-
ACCESS レコードの並び順について
-
【SQL】違うフィールド同士の集...
-
updateで複数行更新したい
おすすめ情報