
No.2ベストアンサー
- 回答日時:
特定のRDBMSで実行するなら、RDBMS名やバージョンを
書きましょう。
せっかくSQLを具体的に教えてもらっても、あなたの
環境では実行できないかも知れません。
情報処理技術者試験の受験対策といった理由なら、
そういった情報を書きましょう。
特定のRDBMSの独自機能を使ったSQLを教えられても、
正解にはなりません。
B=0での抽出なので、A列の値だけ分かればいいなら、
以下のようなSQLでいいと思います。
select A
from T1
where B=0
group by A
having count(*)>=2;
他にC列などがあり、その値も得たいということなら、
以下のようなSQLでいいと思います。
select A,C
from T1
where A=(select A from T1
where B=0
group by A
having count(*)>=2
)
and B=0;
また、#1回答者さんのSQLでも大丈夫だと思いますが、
不要な括弧が多いので簡単に書くと、以下のように
なります。
select A,C
from T1 as x
where (select count(*)
from T1 as y
where x.A=y.A and y.B=0)>=2
and x.B=0;
私が使っているRDBMSでは、列(A,B)にインデクスを
付けた場合、二番目のSQLの方が、効率的にインデクス
が使われるようです。
No.1
- 回答日時:
SELECT jiji.A, jiji.B
FROM jiji
WHERE (((jiji.B)=0) AND (((select count(*) from jiji as jiji2 where jiji2.A=jiji.A and jiji2.B=0))>1));
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つの列が同じ値の行を取得するSQL
-
Oracleで「文字が無効です」の...
-
PL/SQLで…SQLの実行結果を変数...
-
"と'の違いについて。
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
-
レコードの登録順がおかしい
-
トランザクションログを出力せ...
-
select文の実行結果に空白行を...
-
SQLで条件にヒットしたレコード...
-
アクセスのレポートでレコード...
-
引数によってwhere句を切り替え...
-
データ
-
count関数の値をwhere句で使用...
-
SQL*Loader Append
-
【PL/SQL】FROM区に変数を使う方法
-
where句中のtrim関数について
-
group byの並び順を変えるだけ...
-
oracle DB内のデータを増幅す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracleで「文字が無効です」の...
-
2つの列が同じ値の行を取得するSQL
-
PL/SQLで…SQLの実行結果を変数...
-
同じテーブルからviewを作成し...
-
枝番の最大値とその前のデータ...
-
sql文について教えて下さい
-
SQL*Plus8.0.6でChangeコマンド
-
SQL副問い合わせ内のエイリアス
-
UPDATE文のWHERE句にファンクシ...
-
並び替えた後の表の結合
-
Accessオプションボタン vba case
-
"と'の違いについて。
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
-
SELECT FOR UPDATE で該当レコ...
-
【PL/SQL】FROM区に変数を使う方法
-
レコードの登録順がおかしい
-
select文の実行結果に空白行を...
-
where句中のtrim関数について
おすすめ情報