2016-07-20 6 views
0

대체 문자열이 와일드 카드와 함께 작동하지 않는다는 사실을 천천히 알아냅니다. 내가 가지고있는 것은 약 10 SKU이며,이 10 SKU 각각에는 약 20 개의 하위 SKU가 있습니다.와일드 카드로 바꾸기 SQL

예 : _Example - 부모 SKU Example7bTL - 아이 SKU

-end 결과가 그래서 난 깨끗한 형식으로 판매 단위의 합을 얻을 수 _Example에 모든 자식의 SKU를 설정하는 것입니다.

내가 현재 참조하고있는 내용.


Raw Data Example--- 

Quantity  SKU 
210   EXAMPLE7BOTL-C 
42    EXAMPLE4BOTL 
30    EXAMPLE1BOTL 
28    EXAMPLE12BOTL 
100   EXAMPLE7BOTL 
97    EXAMPLE4BOTL 
29    EXAMPLE7BOTL-C 

use test 


CREATE TABLE #test (
Test int, 
BillQty char(300)) 


select Quantity, REPLACE (SKU, '%EXAMP%', 'Example') As Sku 
from test.dbo.tblSFCOrderTxn 




drop table #Test 
나는 그것이 내가 SQL 서버를 2012

+0

편집 질문이 될 것입니다 및 샘플 데이터를 제공합니다 : 당신이 정말로 데이터를 변경하려는 경우

SELELCT CASE WHEN SKU LIKE '%EXAMP%' THEN '_Example' ELSE SKU END AS SKU, SUM(Quantity) AS Quantity FROM test.dbo.tblSFCOrderTxn GROUP BY CASE WHEN SKU LIKE '%EXAMP%' THEN '_Example' ELSE SKU END ORDER BY 1 

, 그것은 것입니다 : 내가 함께 갈 것입니다 , 원하는 결과 및 사용중인 데이터베이스의 태그가 포함됩니다. SQL Fiddle도 도움이 될 수 있습니다. –

답변

0

을 감안할 때 데이터를

Quantity  SKU 
536    _Example 

사용하고되고 싶은 것은, 바로 사용 case :

select (case when left(sku, 1) = '_' then '_Example' else sku end) 
0

그냥 sum() 할 데이터를 변경하면 안됩니다.

UPDATE test.dbo.tblSFCOrderTxn 
SET SKU = '_Example' 
WHERE SKU LIKE '%EXAMP%' 
0

그것은 도움이

SELECT SUM(Quantity),'_Example' AS SKU FROM test.dbo.tblSFCOrderTxn GROUP BY CASE SKU WHEN '1' THEN '1' ELSE '2' END