이름이 Variable[N]
인 테이블의 모든 열에 대한 업데이트 명령문으로 변환하려는 select 문이 있습니다.루프별로 여러 열을 업데이트 하시겠습니까?
예를 들어, 나는이 일을 할 :
- 내가 UPDATE 문에 아래의 SQL을 변환 할 수 있어야합니다.
variable[N]
이라는 이름의n
열이 있습니다. 아래의 예는 열variable63
만 업데이트하지만, 내가 미리 가지고있는variable[N]
열을 모른 채variable1
에서variableN
까지의 모든 열에 대해 동적으로 업데이트를 실행하고 싶습니다. 또한 아래 예제에서 업데이트 된 결과는NewCol
입니다. 가능한 경우 각각의 변수 열을 결과로 업데이트하려고합니다. 아래 예제에서variable63
입니다.
나는 variableN
을 통해 열 variable1
을 통해 루프 래퍼를 가지고 모든 열을 같은 각각의 업데이트 작업을 수행 할 :
SELECT
projectid
,documentid
,revisionno
,configurationid
,variable63
,ISNULL(Variable63,
(SELECT TOP 1
variable63
FROM table1
WHERE
documentid = t.documentid
and projectid=t.projectid
and configurationid=t.configurationid
and cast(revisionno as int) < cast(t.revisionno as int)
AND Variable63 is NOT NULL
ORDER BY
projectid desc
,documentid desc
,revisionno desc
,configurationid desc
)) as NewCol
FROM table1 t;
동적 SQL을 사용해야합니다. 당신이 빨리 그것을 기대하지 않기를 바랍니다. – Hogan
적어도 variable1과 variable2에 대한 update 문은 다음과 같을 것입니다. 여기에 대해 정확히 알기는 어렵습니다. – Hogan
어떤 데이터베이스를 사용하고 있습니까? –