######最終的に発行したいSQL文
PHP
1AND S.id IN ( 2 SELECT shop_id FROM shop_holiday 3 WHERE holiday IN (1, 2) 4 GROUP BY shop_id having count(shop_id) = 1 5)
CakePHP3のサブクエリの情報が少なかったため
CakePHP2のサブクエリのチュートリアルを参考にしています。
PHP
1if(is_array($dal15s) && $dal15s !== ''){ 2//dal15sにはチェックボックスの配列が入っています。 3//ここで上記のサブクエリを発行すると思うのですが、書き方で行き詰まっています。 4$this->loadModel("Dallist15s"); 5 $subQuery = $this->Dallist15s->find() 6・ 7・ 8・ 9}
######発行されているSQL文
SQL
1SELECT 2 Datacklists.id AS `Datacklists__id`, 3 Datacklists.dal01 AS `Datacklists__dal01`, 4 group_concat(Daldata15s.name SEPARATOR ";") AS `daldata15s` 5FROM 6 datacklists Datacklists 7 LEFT JOIN Dallist15s ON Dallist15s.datacklists_id = Datacklists.id 8 LEFT JOIN Daldata15s ON Daldata15s.dal15_id = Dallist15s.dal15_id 9WHERE 10 ( 11 status = 1 12 AND Dallist15s.datacklists_id IN ( 13 SELECT 14 Dallist15s.datacklists_id AS `Dallist15s__datacklists_id`, 15 group_concat(dal15_id SEPARATOR ";") AS `dal15s` 16 FROM 17 dallist15s Dallist15s 18 WHERE 19 Dallist15s.dal15_id in (1, 2) 20 GROUP BY 21 Dallist15s.datacklists_id 22 ) 23 ) 24GROUP BY 25 Datacklists.id 26ORDER BY 27 Datacklists_id DESC 28LIMIT 29 50 OFFSET 0
######エラー
Error: SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/07 05:14 編集
2017/03/07 05:18
2017/03/07 05:48
2017/03/07 05:55
2017/03/07 06:33
2017/03/07 06:59