我有一個表,其中一列是分號分隔的一組值。我想要查詢在該列中具有其中一個值的所有行,並將該值作爲結果集的一部分提取。例如。從分號分隔的varchar列中提取元素
MyTable
[Name], [Tags]
Bob, A;B;C
Alice, Me-X
Janet, Me-Y;A
如果我關心的值在集合[ME-X,我-Y,ME-Z](這是一組已知的,但它沒有存儲任何地方),我想選擇的名稱和「標籤」列中的值。所以,這樣的選擇將返回:
Alice, Me-X
Janet, Me-Y
Curently,是微不足道的得到記錄和所有的標籤像這樣的東西:
SELECT [Name], [Tags] FROM MyTable WHERE [Tags] LIKE '%Me-%'
...但splitthing的標籤欄和拉出標籤是我不知道該怎麼做的。我環顧四周,它在SQL中拆分字符串seems like並不理想。由於我無法進行架構更改或將SPROCS添加到數據庫,這一事實進一步惡化了這一點。
有沒有人知道一個更好的方式,以便我可以在這些限制下解決這個問題?
我可以保證在特定記錄中只有__我的標籤,但它可能是我擁有的幾十個標籤中的任何一個。 –
您以查詢行數1000+,100000+查詢此表的大小是多少?以及你運行這個查詢的頻率如何,它將成爲應用程序的一部分,或偶爾運行 – Hedinn
〜300,000,每天一次或兩次。這是Excel電子表格數據源中的查詢。 –