질문이 2 개 있습니다.여러 열의 사례문
(1) 열이 colA, colB, ColC, colD
입니다. colC의 값을 변경해야합니다. 조건 다음
을 바탕으로 만약 다른 COLB = 1 다음 COLC = 'Tom1' 경우 콜드 = '제프'의 처음 3 개 문자 다음 COLC = 'TOM2' null를.
(2) 정수 열에 '12 : 00pm '기본값을 어떻게 추가합니까?
내가 여기 도움이 필요하면 도와주세요.
미리 감사드립니다.
질문이 2 개 있습니다.여러 열의 사례문
(1) 열이 colA, colB, ColC, colD
입니다. colC의 값을 변경해야합니다. 조건 다음
을 바탕으로 만약 다른 COLB = 1 다음 COLC = 'Tom1' 경우 콜드 = '제프'의 처음 3 개 문자 다음 COLC = 'TOM2' null를.
(2) 정수 열에 '12 : 00pm '기본값을 어떻게 추가합니까?
내가 여기 도움이 필요하면 도와주세요.
미리 감사드립니다.
원하는 논리가 완료되지 않았습니다. 당신은 실제로 현재 colA 값을 유지하기 위해 값을 원합니까? 당신은 colb = 1, colC = 'Tom1'이라고 쓰고 있습니다 ... 나는 다음과 같다고 가정 할 것입니다. 그냥 다음 콜라 값을 유지하려면
CASE
WHEN colB = 1 and colC = 'Tom1' THEN ????
WHEN LEFT(colD) = 'Jef' AND colC = 'Tom2' THEN ????
ELSE NULL
END
당신은 실제로 당신이 완전히 당신이 생산시 COLB 차가운의 값이 가정에 OR
CASE
WHEN (colB = 1 and colC = 'Tom1')
OR (LEFT(colD) = 'Jef' AND colC = 'Tom2') THEN colA
ELSE NULL
END
와 yoru에게 case 문을 결합 할 수 있습니다 COLC, 당신은 같은 것을 사용할 수 있습니다
select
colA
,colB
,case
when colB = 1 then 'Tom1'
when left(colD,3) = 'Jef' then 'Tom2'
else null
end as colC
,colD
것은 COLB 및 감기는 열을 계산하고 당신은 당신이 하위 쿼리 및 calcu 사람들을 할 수있는, 계산을 반복하지 않으려면 외부 쿼리에서 늦은 colC
select
t1.colA
,t1.colB
,case
when t1.colB = 1 then 'Tom1'
when left(t1.colD,3) = 'Jef' then 'Tom2'
else null
end as colC
,t1.colD
from
(
select
colA
,case when someCondition then 1 else 2 end as colB
,(select top 1 name from someTable) as colD
from
... -- whatever your source tables are
) t1
이 mysql 또는 SQL Server입니까? 둘 다 태그를 추가했습니다. –
'colb = 1이고 colC ='Tom1 '일 때'왼쪽 '(colid, 3) ='Jef '이고 colC ='Tom2 'THEN' 'ELSE NULL END' – Lamak
이것은 SQL 서버 – John