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ランキング
-
PHP+MYSQLでレコードをランダ...
-
ランダム文字列をDBにINSERT
-
アカウント検索(データベース...
-
PHPでmySQLのテーブルを作成したい
-
MySQLでデータベースにデータin...
-
mysqlコマンドだけ文字化け
-
phpとmysqlで抽出
-
SQLで返り値が空とでる
-
Excelの変則データをデータベー...
-
出勤表の作り方
-
php テーブルを作れない
-
実行時エラー3131 FROM 句の構...
-
チェックボックスによる複数の...
-
テキストボックスに入れた内容...
-
エクセルVBAについて
-
PHP + MySQLを使用して詳細画面...
-
<VB.NET>INSERT文でDBにデータ...
-
VBAをつかってクエリの情報を抽...
-
JAVA SQLServerException 列名 ...
-
PHP と MySQL でテーブルの行数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
Accessへ日付をINSERT
-
任意の値の取得
-
日またぎの計算
-
PHPでいいね機能を作りたいので...
-
クエリObjectをforeachで回す時...
-
PHP PDOを利用してカラムの削除...
-
会員番号等に利用するダブらな...
-
access → Oracleへのデータ移...
-
トランザクション処理
-
SQL CASE 文について
おすすめ情報