2009-12-21 2 views
0

데이터베이스 하나를 위젯이라고하며, "id"와 "title"이 있습니다. 데이터베이스 2는 위젯 레이아웃이라고 불리며 "module-id", "widget-id", "position"및 "weight"가 있습니다.mysql이 없거나 값이 0입니까?

내가하려고하는 것은 widgets.id가 widget-layout.widget-id에 있는지 확인하고, 그렇다면 widget-layouts.position = 0을 수행하는 것입니다. 위젯 레이아웃에 존재하지 않는 위젯.

다음은 내가 사용 해본 MySQL 쿼리입니다.

SELECT * 위젯 위젯 레이아웃 FROM (widge-layouts.position = '0' AND widgets.id = 위젯 layouts.widget-ID)는 OR NOT IN (SELECT widgets.id *이 쿼리와

) 위젯 레이아웃에서 나는 각각의 위젯이 여러 번 표시되는 위젯의 거대한 목록을 얻고있다.

이것에 대한 아이디어가 있으십니까?

답변

0
SELECT * 
FROM widgets AS w 
    LEFT JOIN widget-layouts AS wl 
     ON w.id = wl.widget-id 
WHERE wl.widget-id IS NULL 
    OR wl.position = '0'  
+0

이 좋은 작품, 감사를 표시해야합니다. – WAC0020

0
SELECT * FROM widgets LEFT JOIN widget-layouts on widget-id = id WHERE position = 0 

은 도움 존재와 위치를 가지고 그들 =

SELECT * FROM widgets RIGHT JOIN widget-layouts on id = widget-id where id is NULL 

0 표시해야합니다 위젯 레이아웃에 존재하는 것들에만