2012-07-20 2 views
0

한 관련이 내가 가지고있는 테이블입니다 있습니다.기록은 특정 다른 기록

즉석에서 생성 된 추가 부울 열을 가진 모든 태그의 목록을 가져오고 각 태그에 대해 보유하고 있습니다. 부울 값은 태그가 지정한 항목 ID와 관련성이 있는지 여부를 나타냅니다.

그래서 원하는 결과는 다음과 같습니다

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

은 무엇이 사용하는 MySQL의에 대한 쿼리 될 수 있을까?

건배

세바스찬

답변

0

를 사용하여 외부는 ON 절에 지정 ITEM_ID 관련을 포함하여 tagitems 테이블에 태그 테이블을 관련시키는 가입 할 수 있습니다.

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 
+0

감사합니다. –

0
select tag.tag_id, 
case when item.is_assigned_to_item is null then 'false' else 'true' end 
from tag left join item on tag.tag_id=item.tag_id 
0
select t.id , case when t2i.tagid is null then true else false end 
from tags t lef join tagitems t2i on t.tagitemid=t2i.tagid [left join items it om it.id = t2i.itemid ]