PHPを学習しており、MySQLでデータベースにPDOで接続をしています。
添付画像のようなチームのデータを管理するテーブル(teamテーブル)と
メンバーのデータを管理するテーブル(memberテーブル)があり、
teamテーブルのkeywordカラムを検索条件にし、
keywordカラムの値が『keyword1』と一致するteamテーブルのレコードの
teamcodeカラムの値と一致する値を持つ
memberテーブルのレコード数をカウントして
teamテーブルから『teamcode』、『teamname』、『teamkana』、『date』を取得し、memberテーブルでの『teamcode』の該当数を取得したいです。
OUTER JOINして、NULLIFやCOALESCEなどを使用して試してみたのですが、
構文の使い方が悪いのか、そもそも使うべきSQL文が違うのかわかりませんが、
添付画像の『teamcode』の値が『0004』のもののように
memberテーブルに該当する値が存在しないものは
NULLになってしまい、取得ができませんでした。
できればmemberテーブルに該当する値が存在しない場合は「0」として取得したいです。
このような場合、どのようなSQL文を記述したら良いのでしょうか?
少しややこしい内容ですので、説明が不足していたり、
説明が分かりづらいようであれば補足します。
ご回答、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんな感じ?(一部省略)
//元データ
create table team(teamcode int(4) unsigned zerofill not null unique,teamname varchar(20));
insert into team values(1,'team1'),(2,'team2'),(3,'team3'),(4,'team4'),(5,'team5');
create table member(membercode int(4) unsigned zerofill not null unique,teamcode int(4) unsigned zerofill,membername varchar(20));
insert into member values(1001,1,'member1'),(1002,2,'member2'),(1003,3,'member3'),(1004,2,'member4');
//検索
select t1.teamcode,t1.teamname,count(t2.membercode) as gaitou
from team as t1
left join member as t2 on t1.teamcode=t2.teamcode
group by t1.teamcode
ご回答ありがとうございます!
GROUP BYの前にWHERE句を挿入したところバッチリ欲しい結果が取得できました!
すごく困っていたので感謝です!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle SQLの書き方について 1 2023/04/13 09:54
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
OracleからAccessへのインポート
-
Yomi-search(PHP)を設置する...
-
変数にNULLを代入したい
-
バインドするデータを切替えしたい
-
クエリObjectをforeachで回す時...
-
実行時エラー3131 FROM 句の構...
-
エクセルVBAについて
-
SQL文が実行できません
-
VBAをつかってクエリの情報を抽...
-
PHP&MySQLでの文字列+数列の一...
-
Q&Aサイトを作成していてURLの...
-
VB.NET エラーになる箇...
-
Resource id #3 をフィールドの...
-
SQL文の実行に失敗しました???
-
php データ削除
-
PHPで[]の使い方について
-
アラートでyes noを作りたいです。
-
phpのエラーについてです
-
PHPのプルダウンメニューにDBの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
日またぎの計算
-
Accessへ日付をINSERT
-
任意の値の取得
-
クエリObjectをforeachで回す時...
-
PHPでいいね機能を作りたいので...
-
会員番号等に利用するダブらな...
-
PHP PDOを利用してカラムの削除...
-
SQL CASE 文について
-
phpを使用し、カテゴリー別に表...
-
トランザクション処理
おすすめ情報