尝试将三个单独的SELECT语句组合到一个主SELECT语句中

时间:2014-06-20 17:45:14

标签: sql tsql

这是问题所在。我的表中有3个字段,可能包含末尾附加额外引号的数据。所以,我正在尝试运行一个select语句,它将从这些字段中删除这个额外的字符,如果存在额外的字符。我可以编写3个单独的查询,但它们可以工作,但我正在尝试将它们组合成一个查询。这是我到目前为止所拥有的,而且我知道它的方式可能不正确:

enter image description here

这是返回的结果集。请注意,所有三列都是NULL。它们不应该是:

enter image description here

这是一个单独的查询,一次适用于一个字段:

enter image description here

你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:2)

您可以删除选择列表中的WHERE以及非相关子查询,并可能将其简化为此...

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)