2012-11-25 33 views
1
SELECT [columns] 
FROM [db] 
WHERE [c1] IN 'A' 
    AND [c2] IN 'B, C' 
    AND [c3] LIKE (X and Null)... 

c3目前是一個數組,雖然可以轉換爲二進制標誌,但我需要包括空條目以及LIKE匹配。過濾跨越多列的數據庫試圖包括空像

本質上,我試圖跨多個值(11列)過濾現有的表。 當我爲[c3]使用OR語句時,會得到超出其他過濾條件的額外結果。在LIKE中使用AND語句的限制性太強,除非它也可以在[c3]中包含空條目。除此之外,所有其他元素都可以工作,因爲由於重疊標誌,我必須將[c3]作爲數組離開。

+0

哪個數據庫? –

+0

所有的列都在同一個數據庫和表中,看起來像我錯誤標記[db]應該是[table]那裏。 – Lix0059

+0

「c3'是一個數組」是什麼意思?你能顯示樣本數據嗎? –

回答

2

這可能是在不添加字符串(和更多存儲)的情況下完成的。

SELECT [columns] 
From [db] 
WHERE [c1] IN 'A' 
    AND [c2] IN 'B, C' 
    AND ([c3] LIKE 'X' OR [c3] IS NULL)