2013-01-09 101 views
1

我有兩個表MySQL查詢忽略空值在刪除查詢

articlesdownloadtrack的列 - ID和articleID,createdtime,modifiedtime

文章的列 - 編號,ArticleName的,articleURL,創建時間,修改時間

文章中下載的部分條目即articlesdownloadtrack.articleid在文章中不可用(在mig過程中未找到配給)。我想刪除這些記錄。

我使用的查詢

delete from articlesdownloadtrack where articleid not in(select id from articles); 

但我必須添加約束只刪除那些記錄條款ArticleID不爲空,因爲在articlesdownloadtrack,還有一些記錄,其條款ArticleID爲NULL,這不應該當這個查詢被執行時被刪除。

+1

所以添加'和條款ArticleID IS NOT NULL' – Kermit

回答

3

如前所述@njk,試試這個:

delete 
    from articlesdownloadtrack 
where 
    (
    articleid IS NOT NULL AND articleid not in(select id from articles) 
    )