
基本的なことですみません。
環境はSQLServerのクエリアナライザを使用してます。
内容は題名のとおりです。
例えば
table1
fID fName fItemCD
1 山田 01
2 木村 03
3 田中 04
4 佐藤 02
5 高橋 03
6 川島 03
7 山下 06
のようなものがあって、以下のSQL文を処理すると
select fItemCD, count(*) as Rslt from table1
where fItemCD in ('04','05','06')
group by fItemCD
結果
fItemCD Rslt
04 1
06 1
が返ってきます
これを
fItemCD Rslt
04 1
05 0
06 1
と結果0件のものも表示したいのですが、いい方法ありますか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
まったく存在しないものを検索するというのは無理な話なので、他にコード管理のテーブルを作ったりunionで作ったりして、その後joinするしかありません。
(1)表定義&データ例
create table table1
(fID smallint,
fName varchar(8),
fItemCD char(2));
insert into table1 values(1,'山田','01');
insert into table1 values(2,'木村','03');
insert into table1 values(3,'田中','04');
insert into table1 values(4,'佐藤','02');
insert into table1 values(5,'高橋','03');
insert into table1 values(6,'川島','03');
insert into table1 values(7,'山下','06');
create table fItemCD_Master
(fItemCD char(2),
fItemName varchar(20));
insert into FItemCD_Master values('01','A');
insert into FItemCD_Master values('02','BB');
insert into FItemCD_Master values('03','CCC');
insert into FItemCD_Master values('04','DDDD');
insert into FItemCD_Master values('05','EEEEE');
insert into FItemCD_Master values('06','FFFFFF');
insert into FItemCD_Master values('07','GGGGGGG');
insert into FItemCD_Master values('08','HHHHHHHH');
insert into FItemCD_Master values('09','IIIIIIIII');
insert into FItemCD_Master values('10','JJJJJJJJJJ');
(2)検索
select M.fItemCD,count(T.fItemCD) as Rslt
from fItemCD_Master as M
left join table1 as T
on M.fItemCD=T.fItemCD
where M.fItemCD in ('04','05','06')
group by M.fItemCD;
遅くなりましたが、
大変参考になりました。
ありがとうございました。
結局ないものをカウントすること自体がナンセンスなのですね。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
このQ&Aを見た人はこんなQ&Aも見ています
-
SQLでSUMなどの関数でデータが無い時に0を返したい。
Oracle
-
SQL文で、合計が0のレコードを表示させないようにしたい。
SQL Server
-
SQLサーバに対するSQL文で抽出した時にないレコードを0で表示させるには?
SQL Server
-
-
4
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
5
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
6
SELECT 文 GROUP での1件目を取得
SQL Server
-
7
テーブルに存在しない列をselect文で出力する事はできないでしょうか?
PostgreSQL
-
8
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
9
select句副問い合わせ 値の個数が多すぎます
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INSERT文でフィールドの1つだ...
-
SQLでフィールドの順番を変更し...
-
count集計の結果が0の場合でも...
-
自作関数の方がパフォーマンス...
-
MySQLで複雑な式?
-
★Mysql ある日程から10日後以降...
-
SQLについて教えて下さい with(...
-
グループ毎の最大値を持つデー...
-
'internal' のシステム メモリ...
-
JOINで1つのテーブルに空白があ...
-
SQLを作ったのですがうまくいき...
-
SQLで特定の項目の重複のみを排...
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
カーソル0件の時にエラーを発生...
-
エクセルで最後の文字だけ置き...
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
for whichの使い方
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT文でフィールドの1つだ...
-
SQLでフィールドの順番を変更し...
-
count集計の結果が0の場合でも...
-
'internal' のシステム メモリ...
-
JOINで1つのテーブルに空白があ...
-
SQL server改行コード
-
SQLについて教えて下さい with(...
-
グループ毎の最大値を持つデー...
-
「重複を間引いた数」をcountし...
-
SQLServerでの切り上げ処理
-
自作関数の方がパフォーマンス...
-
Unionの結果全体をOrder By し...
-
MySQLで複数のSELECT文を1文に...
-
文字列変換ついて
-
SQLでの計算結果がおかしい
-
DB2でのロック
-
SQL Server 2005 Express で CD...
-
一つのSQLで実行できるでしょう...
-
勉強でSNSを作っています。
-
データの間隔が知りたい時
おすすめ情報