以下のテーブルAとテーブルBを結合して結果テーブルを出力したいと考えています。
(テーブルA上のIDのカウントした数をテーブルBに結合して出力したい。)
テーブルA
-----------
CATEID
aaa001
bbb001
ccc003
ddd004
テーブルB
-----------
IDNAME
001101
002102
003103
004104
結果テーブル
----------------------
IDNAMECOUNT
0011012
0021020
0031031
0041041
そこで、
===================================
SELECT B.ID, B.NAME, COUNT(A.ID)
FROM TABLE_A B, TABLE_B B
GROUP BY B.ID, B.NAME, A.ID
HAVING A.ID = B.ID
===================================
とSQLを書いてみましたが、
0021020
のテーブルAにIDが存在していない列が結果として表示されませんでした。
WHERE句でいう「WHERE A.ID =* B.ID」のようなことを行いたいのですが、どのように行えばよいでしょうか?
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
なにか普通に処理してはいけない(=HAVINGを使わなくてはならない)事情をお持ちですか?
こうやればできますが、CROSS JOINはCostlyです。
SELECT b.ID, b.NAME,
SUM(CASE WHEN A.ID=B.ID THEN 1 ELSE 0 END)
FROM table_a a, table_b b
GROUP BY b.ID, b.NAME
普通は、こんな風に書くのでは。。?
SELECT
b.ID,
b.NAME,
COUNT(DISTINCT cate)
FROM table_b b
LEFT OUTER JOIN table_a a ON a.ID=b.ID
GROUP BY b.ID,b.NAME
SELECT
b.ID,
b.NAME,
NVL(CNT,0)
FROM table_b b
LEFT OUTER JOIN
(SELECT ID,COUNT(*) CNT
FROM table_a
GROUP BY ID) a ON a.ID=b.ID
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Oracle SQL update方法 2 2022/06/22 14:07
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- MySQL 【MySQL】本当に困っています。詳しい方、ご教授よろしくお願いします。 1 2023/06/03 14:18
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
データ削除とSQL*Loaderでのイ...
-
エラーを起こす方法
-
truncate文を発行したときに
-
テーブル定義書(Oracle) 【IX】...
-
テーブルに変更があったらCSV出力
-
Access97からOracle8iへのパス...
-
SQL HAVING句の使い方について
-
既にテーブルが存在する場合の...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
「総降水量が100mm以上になる...
-
UPDATEで既存のレコードに文字...
-
既存データをINSERT文にして出...
-
【SQL】他テーブルに含まれる値...
-
CSVファイルを読み込んでテーブ...
-
sqlに記述できない文字
-
timestampのデータはどのように...
-
PostgreSQLのtimestamp型で時間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
エラーを起こす方法
-
データ削除とSQL*Loaderでのイ...
-
テーブル定義書(Oracle) 【IX】...
-
既にテーブルが存在する場合の...
-
複数レコードの複数フィールド...
-
CASEでBETWEEN制約
-
[materialized]マテリアライズ...
-
Where句のNot条件をAnd条件にし...
-
AccessからOracle DB(View)を...
-
任意のテーブルをdrop tableしたい
-
accessのデータをoracleへinser...
-
複数テーブルへの問合せ
-
pro*cobol ⇔ oracle のデータ型...
-
テーブルに変更があったらCSV出力
-
SELECT実行結果のレスポンス改...
-
AccessVBAにて動的にテーブルを...
-
ストアドにしたらエラーになる
-
ora-01722のエラーについて
おすすめ情報