我需要來自數據庫的複雜數據排序的幫助。假設我的數據存儲在表中,如下所示:需要幫助進行復雜的數據排序SQL Server
Description
--------------
JCB Excavator - ECU P/N: 728/35700
Geo Prism 1995 GEO - ABS #16213899 GEO pump
Geo Prism 1995 - GEO ABS #16213897
Geo Prism 1995 - ABS #16213897
Ersatz Airbags, Gurtstrammer und Auto Körper Teile
this test JCB pipe & JCB pump
Wie man BBA reman erreicht
7行在那裏。我想以這樣的方式編寫SQL查詢,因爲它會根據我的輸入詞對數據進行排序。假設我的搜索詞是GEO,JCB
兩個單詞用逗號隔開。最先到達的行是搜索詞找到最大時間的行。所以對於GEO
這個詞在大多數行中有最大的時間。
兩類將被要求:
- 以這樣的方式,其中搜索詞發現的最大時間在前排序數據。
- 根據每行中發現的搜索詞的最大出現次數對數據進行第二次排序。
假設GEO
在最大行中找到的搜索詞。
因此,所有具有GEO
關鍵字的行都會先出現,然後JCB
的相關數據纔會到來。
在GEO
相關數據那些行將首先具有最大GEO
關鍵字。
所以輸出看起來像。
Description
--------------
Geo Prism 1995 GEO - ABS #16213899 GEO pump
Geo Prism 1995 - GEO ABS #16213897
Geo Prism 1995 - ABS #16213897
this test JCB pipe & JCB pump
JCB Excavator - ECU P/N: 728/35700
Ersatz Airbags, Gurtstrammer und Auto Körper Teile
Wie man BBA reman erreicht
請幫助我構建這種SQL將在所有SQL Server版本中工作。
你*有*使用SQL Server作爲一個基於文本的搜索引擎(如Luence)可能是一個更好的解決方案。 SQL Server不擅長解析字符串(這是你必須要做的) – Kane 2012-07-27 07:31:16
**所有** SQL Server版本 - 哇 - 多久後? SQL Server 4.2? 6.0? 6.5? 7.0? 2000? ...... – 2012-07-27 08:42:35
我正在使用sql server 2000 ....所以marc_s可以請你幫我。謝謝 – Thomas 2012-07-27 13:36:59