
お世話になっております。
皆様の知恵をお貸しください。
SQLクエリアナライザとPHPで作成
[Aside]
No
1
1
3
2
1
[Bside]
No BName
1 test1
2 test2
3 test3
4 test4
AsideのNoとBsideのNoが同じもので、
AsideはBsideのものが何回使われたかの記録です。
Bsideのデータ+何回使われたかの合計を出したいのです。
No BName Count
1 test1 3
2 test2 1
3 test3 1
4 test4 0
こういう表示をしたいのですが、
今書いているSQLがこういう風↓です
SELECT
B.No
,B.BName
,COUNT(*) AS Count
FROM
Aside AS A left JOIN Bside AS B ON
A.No = B.No
WHERE
A.No = B.No
GROUP BY
B.No
,B.BName
これだと
No BName Count
1 test1 3
2 test2 1
3 test3 1
使われている1・2・3だけ出て、4は出ません。
一つのSQLで、使われていない4も一緒に出す書き方を教えてください。
No.2ベストアンサー
- 回答日時:
回答のSQLをそのまま使っていますか?
create table aside
(
no int
)
insert into aside values (1);
insert into aside values (1);
insert into aside values (3);
insert into aside values (2);
insert into aside values (1);
create table bside
(
no int,
bname varchar(10)
)
insert into bside values ( 1,'test1');
insert into bside values ( 2,'test2');
insert into bside values ( 3,'test3');
insert into bside values ( 4,'test4');
で
SELECT
B.No
,B.BName
,COUNT(a.no) AS Count
FROM
Aside AS A right JOIN Bside AS B ON A.No = B.No
GROUP BY
B.No
,B.BName
は
No BName Count
----------- ---------- -----------
1 test1 3
2 test2 1
3 test3 1
4 test4 0
にこちらの環境ではなります。
回答の「count(a.no)」を「count(*)」や「count(b.no」にするとcountが
1になります。
nora1962さんのおっしゃる方法でできました。
変な結果になった原因は、いじっている時に間違えて「count(b.no)」にしてしまっていた事でした。
お騒がせしてすみませんでした…。
正しい書き方だけでなく、「count(*)」、「count(b.no)」など結果が1になってしまう可能性を教えてくださり、とても助かりました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sqlserverで集計結果をUPDATEし...
-
SQLのエラー(~付近に不適切な...
-
SQLCMDにて教えていただきたい...
-
BULK INSERT時のNull許容について
-
【SQLサーバ】float型における...
-
Access2013で操作ログを残した...
-
AccessのInsertクエリのあとつ...
-
SQL Date型の列から年月だけを...
-
ACCESS2007 フォーム 「バリア...
-
sqlserverで同一キー単位で金額...
-
Access2021 「ISNULL関数には引...
-
自己相関サブクエリと自己結合...
-
Accessの重複なしのカウントの...
-
<SQL>重複しているデータの場合...
-
SQLの副問い合わせ IN演算子とE...
-
SQLサーバー接続 特定のPCがWin...
-
SQLserver セル内での改行って...
-
インストール可能なISAMド...
-
Sheet1$が存在致しませんとエラー
-
Microsoft SQL Serverについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerでtime型への変換
-
片方のテーブルに無いデータを...
-
日付型項目のNULLについて(Pos...
-
BULKINSERTのWITHオプションに...
-
【SQL】指定期間の合計、MAX...
-
VBA 100億になると#が自動...
-
「1から5の間なら」とするには?
-
データ突合のよい方法を教えて...
-
SQL文について
-
Access 2000 サブクエリとJOIN
-
サブクエリ
-
sql express内部結合して重複行...
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
Outlook 送受信エラー
-
外部参照してるキーを主キーに...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
エクセルの関数について教えて...
おすすめ情報