0

私は次のテーブルを持っています:

  • Magazine_tags
  • news_tags
  • page_tags
  • content_tags
  • faq_tags

それらはすべてまったく同じ構造を持っています:

uid_local - id of the entity
uid_foreign - id of the tag

それらのそれぞれは、PHPのモデルにマップされます。

複数のタグに基づいて関連コンテンツを取得する必要があります。1と4のタグが付けられた「よくある質問」を表示しているとしましょう。1または4のいずれかでタグ付けされたすべてのアイテムを取得する必要がありますが、両方のタグが付けられたアイテムが一番上にあるはずです。

また、異なるエンティティを区別できる必要があるため、クエリを実行した後、PHPで対応するモデルを使用してエンティティをロードできます。

このクエリを作成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

私はモバイルなのでテストできませんが、次の方法でうまくいくはずです:

SELECT uid_local, uid_foreign, count(*) from faq_tags WHERE uid_foreign IN (1,4) GROUP BY uid_local ORDER BY frequency DESC

于 2010-08-26T11:08:28.497 に答える