2014-06-20 79 views
0

這是問題所在。我的表格中有3個字段,可能包含在最後附加額外引用的數據。所以,我試圖運行一個select語句,將這些額外字符從這些字段中刪除,如果有額外字符存在。我可以編寫3個單獨的查詢,並且它們工作正常,但我試圖將它們全部合併爲一個查詢。這裏是我到目前爲止,我知道這是可能不正確我的方式:嘗試將三個單獨的SELECT語句組合到一個主SELECT語句中

enter image description here

下面是回來的結果集。請注意,所有三列都是NULL。他們不應該:

enter image description here

下面是在一次對一個領域工作的個人的查詢:

enter image description here

你能告訴我什麼,我做錯了什麼?

+0

任何原因,你正在做的子查詢,而不是他們對加盟什麼? – StingyJack

+0

沒有特別的原因,除了我缺乏經驗。 –

+0

夠公平的。考慮將查詢粘貼到問題中而不是截屏中。不必重新輸入查詢可能會得到更多答案。 – StingyJack

回答

2

可以刪除何在,以及在選擇列表中的非關聯子查詢,大概它簡化這個...

SELECT 
    AID 
    , EID 
    , STOREID 
    , [Language] 
    , 'BrandLabel' = CASE WHEN BrandLabel LIKE '%"' 
         THEN LEFT(BrandLabel, LEN(BrandLabel) -1) 
         ELSE BrandLabel 
        END 
    , 'Terms' = CASE WHEN Terms LIKE '%"' 
         THEN LEFT(Terms, LEN(Terms) -1) 
         ELSE Terms 
        END 
    , 'TrackOrderLbl' = CASE WHEN TrackOrderLbl LIKE '%"' 
         THEN LEFT(TrackOrderLbl, LEN(TrackOrderLbl) -1) 
         ELSE TrackOrderLbl 
        END 
FROM parallel_Purchase_Email_Content_OMS WITH (NOLOCK) 
+0

即使不應刪除最後一個字符,這將刪除每個字段的每個最後一個字符。如果最後沒有雙引號,則不應刪除,否則應刪除。 –

+0

AH,最後錯過了雙引號......看起來像'%'。我會更新。 – StingyJack

+0

這實際上是我想出來的同樣的解決方案,因爲我試圖自己解決這個問題。 :) –