0

これらは私が持っているテーブルです:

------    ----------     -------
|tags| -- |tagitems|  -- |items|
------    ----------     -------

そのため、タグはアイテムと am:n の関係にあります。

その場で作成され、タグが指定したアイテムIDと関係があるかどうかに関係なく、タグごとにブール値を保持する追加のブール値列を持つすべてのタグのリストを取得したいと思います。

したがって、望ましい結果は次のとおりです。

------------------------------
|tag.id | is_assigned_to_item|
------------------------------
|   1   |          true      |
|   3   |          false     |
------------------------------

mysql を使用して、これに対するクエリは何でしょうか?

乾杯

セバスチャン

4

3 に答える 3

0

外部結合を使用して、タグ テーブルを tagitems テーブルに関連付けます。これには、ON 句で指定した関連する item_id が含まれます。

select tag.tag_id, 
  (count(tagitems.tag_id) > 0) as is_assigned_to_item
from tag 
  left outer join tagitems on tagitems.tag_id=tag.tag_id and tagitems.item_id = ?
group by tag.tag_id
于 2012-07-20T14:23:20.393 に答える