1対多の検索を求めるsqlを考えておりますが、
行き詰ってしまったのでお力をかしていただけないでしょうか。
ブログのタグ・作者検索についてです。
●blog_main
id
title
status
blog_main
id | title | status |
---|---|---|
1 | 青い本 | 1 |
2 | 緑の本 | 1 |
3 | 赤い本 | 1 |
●blog_tag
tagid
blogid // blog_mainのid
blog_tag
tagid | blogid |
---|---|
1 | 1 |
2 | 1 |
2 | 2 |
2 | 3 |
3 | 1 |
4 | 1 |
4 | 2 |
●blog_auther
autherid
blogid // blog_mainのid
blog_auther
autherid | blogid |
---|---|
1 | 1 |
2 | 1 |
2 | 2 |
2 | 3 |
3 | 1 |
4 | 1 |
4 | 2 |
「blog_main」には複数の「blog_tag」と「blog_auther」が記録されております。
tagid 2,4が登録されていてかつautherid1,4が登録されているsqlを作りたいのですが何か良いアイディアはないでしょうか。
現在「tag」のみ複数検索のsqlは思いついておりますが、それに「auther」も追加したものが全く思いつきません。
下記がタグのみのsqlです。mysqlを使用しております。
mysql
1select * from blog_main AS t1 where 2exists 3( 4 select 1 from blog_tag AS t2 5 where t1.id = t2.blogid and t2.tagid in (2, 4) having count(*) = 2 6);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/31 02:35