- 締切済み
MysqlでSUMをつかうとおもうのですが、、、。
PHPとMySQLを使ってやっています。 以下のように予約テーブルとエージェントテーブルがあります。 予約テーブル 予約ID 名前 電話番号 エージェント 人数 11 鈴木 ******** 11 1 12 佐藤 ******** 12 5 13 田中 ******** 12 2 14 木村 ******** 13 3 15 伊藤 ******** 14 4 16 山田 ******** 11 8 エージェントテーブル エージェントID エージェント名 11 JTB 12 HIS 13 KNT 14 HNK 15 KKK こちらのデータから以下のような検索結果を得たいのですが、 どうすれば宜しいでしょうか? 表示結果 JTB HIS KNT HNK KKK 9 7 3 4 0 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
ピボッドテーブルをつかってみるとよいでしょう create table ピボッドテーブル( ピボッドID int,JTB INT,HIS INT, KNT INT ,HNK INT,KKK INT); insert into ピボッドテーブル (id,JTB)values(11,1); insert into ピボッドテーブル (id,HIS)values(12,1); insert into ピボッドテーブル (id,KNT)values(13,1); insert into ピボッドテーブル (id,HNK)values(14,1); insert into ピボッドテーブル (id,KKK)values(15,1); 結果: SELECT SUM(JTB*人数) AS JTB ,SUM(HIS*人数) AS HIS ,SUM(KNT*人数) AS KNT ,SUM(HNK*人数) AS HNK ,SUM(KKK*人数) AS KKK FROM 予約テーブル INNER JOIN ピボッドテーブル ON エージェント = ピボッドID