recipe_ingredients表のmaster_id列と、vegetables表のvegetable_id列が対応しているのですね?
recipe表の野菜の名前はカタカナですが、vegetables表のname列はひらがななのですか?
などなど、いろいろと引っ掛かる点があるのですけどね。
SQL例を示しますから、実行結果が期待通りか確認すると共に、どういうことをやっているか調べてみてください。
select tR.*
from tR
inner join
(select R_id
from tRI
inner join tV
on M_id=V_id
where name in('ズッキーニ','トマト')
group by R_id
having count(*)=2) as x
on tR.R_id=x.R_id
order by tR.R_id
質問者
お礼
ありがとうございます!
having って一度も使ったことありませんでした…。
group by した結果に対して、条件で絞り込むことができるんですね!
二つのVegetablesの名前で検索したら、
2行のrecipe_ingredientsが引っかかったものが全てに
合致したもので、あるから、recipe_id を Group by でカウントを取った
結果に対して、絞り込むと言うことですよね?
ご指摘いただいたとおり、
[recipe_ingredients.master_id と vegetables.vegetable_id
が対応]で正しいです。
すみませんサンプル作るときにカラム名を間違えてしまったようです。
vegetablesについても、
ずっきーに、おりーぶ、とまと はカタカナのつもりになっていました。
ご指摘の通りです。すみません。
情けない不備がたくさんあったのに、
回答いただいてありがとうございました!
助かりました。
お礼
ありがとうございます! having って一度も使ったことありませんでした…。 group by した結果に対して、条件で絞り込むことができるんですね! 二つのVegetablesの名前で検索したら、 2行のrecipe_ingredientsが引っかかったものが全てに 合致したもので、あるから、recipe_id を Group by でカウントを取った 結果に対して、絞り込むと言うことですよね? ご指摘いただいたとおり、 [recipe_ingredients.master_id と vegetables.vegetable_id が対応]で正しいです。 すみませんサンプル作るときにカラム名を間違えてしまったようです。 vegetablesについても、 ずっきーに、おりーぶ、とまと はカタカナのつもりになっていました。 ご指摘の通りです。すみません。 情けない不備がたくさんあったのに、 回答いただいてありがとうございました! 助かりました。