在sql中比較兩個逗號分隔值,我們可以通過使用Split類型的函數來完成(也可以做三列!) 但是,如果不使用函數,那有可能嗎?在SQL中比較三個逗號分隔值
讓我舉個例子。
查詢應檢查以下條件
(1)選擇從表-1即計劃的任務。但未完成或拒絕列。
(2)僅返回強制任務
使用分割功能(UD功能)或光標正在查詢更加複雜,燕子的時候也是如此。
有沒有其他的解決方案來完成這件事? 單個查詢可能嗎?
在此先感謝。
在sql中比較兩個逗號分隔值,我們可以通過使用Split類型的函數來完成(也可以做三列!) 但是,如果不使用函數,那有可能嗎?在SQL中比較三個逗號分隔值
讓我舉個例子。
查詢應檢查以下條件
(1)選擇從表-1即計劃的任務。但未完成或拒絕列。
(2)僅返回強制任務
使用分割功能(UD功能)或光標正在查詢更加複雜,燕子的時候也是如此。
有沒有其他的解決方案來完成這件事? 單個查詢可能嗎?
在此先感謝。
不,沒有靈丹妙藥。如果你真的想提高性能,這可能是正常化(也許索引)。而且,更多的標準查詢可以在沒有拆分功能的情況下工
根據具體情況,它可能會有所不同,但從您顯示的內容來看,我將爲每個與table1相關的任務創建一行任務表,該任務顯示爲包含許多任務的「作業」或「項目」。
只是在表中意味着他們是強制性,拒絕和完成列的計劃任務。
如果你不能規範化這些數據,那麼你可能會被分割函數卡住。有一些關於如何通過分離函數獲得優異性能的文章,而CLR函數似乎運行得非常快。
銀子彈,這樣的經典...這讓我想起了很多關於這篇文章的文章:http://weblogs.asp.net/alex_papadimoulis/408925 – Hackerman
mysql或sql-server? – Jens
*是可能的* - 是的 - 把每個逗號分隔的值放在另一個表的自己的行中,這是它應該完成的方式。目前的設計可能會成爲維護的噩夢。 –
@AlexK。好的,謝謝 –