代碼中的問題:SQL:打開一個IN到與替代或者
...and crset.Name IN (Select [part] from [dbo].[SplitString](@Type, ',')...
假設@Type
是'Blue,White'
和splitstring功能,讓我把這個字符串到一個列表中,使用IN。
目前這返回所有藍色或白色的條目,讓我們說房子的顏色。我想要的是這樣一種說法:「只有那些顏色在列表中並且必須具有列表中所有顏色的房屋這意味着每個房屋都有多個條目:每個顏色具有一個條目(這就是數據庫中的情況),這意味着有「紅色」和「白色」條目的房屋不會出現,只有「藍色」條目不會顯示,「白色」條目不會顯示,但其中有多個記錄(藍,白)會的。任何房屋
讓我知道如果你需要更多的代碼來工作。
內部連接是否比'in'子句快? – 2014-11-05 20:32:30
一個小問題「。一個聚合可能不會出現在WHERE子句中,除非它位於包含在HAVING子句或選擇列表中的子查詢中,並且聚合的列是外部引用。」 或者如果我把它我真的認爲它應該是: 聚合不能出現在ON子句中,除非它在子查詢中包含在HAVING子句或選擇列表,並且被聚合的列是外部引用。 更需要編碼嗎? – MetalPhoenix 2014-11-05 20:37:56
@MetalPhoenix。 。 。您需要重寫整個查詢以遵循此方法。你不能只在'where'子句中過濾來做你想做的事情,因爲它會影響多行。 – 2014-11-05 22:08:51