以下のクエリ文をPHPを使って、user_id
= 'shimadahoujin' を動的にするようにプログラムで実装しているのですが、パラメーターがここではuser_id
= 'shimadahoujin'と1か所しか使用していないのに、プログラム側では2箇所という風に出力されてしまっています。
where
user_id
= 'shimadahoujin'
以外にどこかでパラメーターがあるのでしょうか?
お助けお願いします。
SQL
1コード 2SELECT 3 `identification_card`.* 4 , `settlement`.`name` as `payment_name` 5 , `settle_selectable`.`url` 6FROM 7 ( 8 SELECT 9 `user_id` 10 , `payment_id` 11 , max(`send_date`) as `send_date` 12 from 13 `identification_card` 14 where 15 `user_id` = 'shimadahoujin' 16 group by 17 `user_id` 18 , `payment_id` 19 ) AS `max` 20 INNER JOIN `identification_card` 21 ON `max`.`send_date` = `identification_card`.`send_date` 22 AND `max`.`payment_id` = `identification_card`.`payment_id` 23 AND max.`user_id` = identification_card.`user_id` 24 INNER JOIN `settle_selectable` 25 ON `max`.`payment_id` = `settle_selectable`.`payment_id` 26 INNER JOIN `settlement` 27 ON `identification_card`.`payment_id` = `settlement`.`payment_id` 28GROUP BY 29 `identification_card`.`payment_id`;
テーブル定義
identification_cardのテーブル定義
CREATE TABLE `identification_card` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` varchar(150) NOT NULL, `payment_id` varchar(10) NOT NULL, `send_date` datetime DEFAULT NULL, `auth_flg` int(1) DEFAULT 0, PRIMARY KEY (`id`), KEY `auth_flg` (`auth_flg`) USING BTREE )
settlementのテーブル定義
CREATE TABLE `settlement` ( `payment_id` varchar(10) NOT NULL, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`payment_id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
settle_selectableのテーブル定義
CREATE TABLE `settle_selectable` ( `payment_id` varchar(10) NOT NULL, `url` varchar(255) DEFAULT NULL, PRIMARY KEY (`payment_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
ご教授よろしくお願いします。