2009-12-21 31 views
0

數據庫被稱爲小部件,它有「id」和「title」。數據庫二稱爲小部件佈局,它具有「模塊ID」,「小部件ID」,「位置」和「重量」。mysql不在或值= 0?

我想要做的是檢查widget-layout.widget-id中是否存在widgets.id,如果存在,那麼widget-layouts.position = 0。我也想獲取值小部件佈局中不存在的小部件。

這是我一直在使用的mysql查詢。

SELECT * FROM窗口小部件,小工具的佈局 WHERE(widge-layouts.position = '0' AND widgets.id = 插件-layouts.widget-ID)或 widgets.id NOT IN(SELECT *從 小工具佈局)

使用此查詢我收到了一個巨大的小部件列表,其中每個小部件顯示多次。

對此有何想法?

回答

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 2009-12-21 14:14:00

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

應顯示那些存在,並有位置= 0

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

應顯示那些存在於小部件的佈局僅