ホームページ > バックエンド開発 > PHPチュートリアル > 多対多クエリ、3 テーブル クエリ、mysql ステートメント

多対多クエリ、3 テーブル クエリ、mysql ステートメント

WBOY
リリース: 2016-06-23 13:40:08
オリジナル
1118 人が閲覧しました

一般的なアプリケーション: 記事とタグのデータ テーブル。次に、「テクノロジー」などの特定のタグをクエリして、すべての技術記事をクエリします。

記事テーブル記事:

aid, title,content-----------------------------------------1   Qt助力跨平台应用开发,势不可挡2   Qt助力跨平台应用开发,势不可挡3   Qt助力跨平台应用开发,势不可挡4   Qt助力跨平台应用开发,势不可挡
ログイン後にコピー


タグテーブル tags:
tid,tname--------------------------------1   生活2   技术3   科技4   娱乐
ログイン後にコピー


記事タグ関係テーブル art_tags:
aid,tid----------------------------1 11 21 32 12 32 43 13 23 44 14 2
ログイン後にコピー


次に、タグに基づいてキーワード「テクノロジー」を検索し、3 つの記事 1、3、 4 が表示されるはずです


ディスカッション(解決策)に返信

select a.* from Article as a left join art_tags at on at.aid=a.aid where at.tid=2

select a.* from Article as a left join art_tags at on at.aid=a.aid where at.tid=2



at.tid=2 ? これは事前に知ることができません。ユーザーは「技術」という漢字を入力しました

select * from article where aid in(select aid from art_tags where tid in(select tid from tags where tname='技术'));
ログイン後にコピー

select a.* from article a left join art_tags b on a.aid=b.aid left join tags c on c.tid=b.tid where b.tname='技术'
ログイン後にコピー

ありがとうございます!
where もこのように書けることが分かりました

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート