我有一列顯示了我們公司已經經歷的項目的標題,另一列有幾個小時爲每個項目工作。在SQL語句中查找字符串中的字符串
標題中包含關鍵字的項目中,關鍵字由格式定義的「關鍵詞:」即「ETL:」
一些項目有多個關鍵詞,即「客戶:ETL:ASCX:」
因此,例如, ,項目名稱可能是'客戶:ETL:ASCX:更新導入過程'
我不知道關鍵字提前。
我想要小時,項目總數,對於一個給定的關鍵字 因此,讓我們使用以下兩個項目冠軍爲例:
- 客戶:ETL:ASCX:人士20小時 工作放入它。
- 客戶端:ETL: 橋:有10個小時的工作投入到 呢。
報告應該給:
Keyword - Total Projects - Total Hours
Client: - 2 -30
ETL: - 2 - 30
ASCX: - 1 - 20
Bridge: - 1 - 10
獲得一個關鍵字的第一個實例很容易 - 只需串;但找到嵌套關鍵字證明是困難的。
可以在SQL內完成嵌套搜索嗎?
任何接受者?
UPDATE(最初發布的 「答案」):
進一步的例子:
比方說,我有兩個記錄與以下項目名稱:
Record 1: Interface: ETL:
Record 2: ETL:
記錄1具有10小時,記錄2有30小時。
現在,我的代碼捕獲的第一關鍵字的實例,所以我的輸出現在是(關鍵字:小時)
ETL: 30
Interface: 10
但是,要求是要表明,ETL已撥出40小時,因爲兩個項目有ETL作爲關鍵字:
ETL: 40
Interface: 10
那麼肯定,我可以用一個喜歡找ETL,或接口的所有實例,但我需要打破在選擇每個關鍵字。在上面的例子中,如果我使用了類似的'%ETL:%',我會得到兩個記錄,但我希望看到所有關鍵字的全部小時數,按關鍵字細分。
也許一個更好的問題是:
我怎樣才能得到看起來像這樣的記載:
Interface: ETL:
到輸出看起來像這樣:
Interface:
ETL:
SQL內?
我想了解問題。您正試圖搜索項目列中是否出現特定子字符串的記錄?如果是這樣就像使用'LIKE'關鍵字一樣簡單,'WHERE Project LIKE'%ETL%'' – 2011-06-16 14:34:41
「獲取關鍵字的第一個實例很容易」,您可能希望包含這個簡化/匿名版本以幫助展示你想要完成的事情。向我們提供樣本數據清單以及您想要實現的內容也有所幫助。 – 2011-06-16 14:39:43
看到我的OP,我給出了例子和預期的輸出。在我的例子中,我有兩個項目記錄,我期望在預期輸出中有4個記錄,因爲項目記錄中有4個不同的關鍵字。我正在使用SUBSTR(project_title,1,INSTR(SUBSTR(porject_title,1(instr(project_title,'')),':')),但只發現關鍵字的第一個實例,而不是嵌套的 – 2011-06-16 14:51:06