728x90 SELECT2 MS-SQL에서 특정테이블의 데이터값으로 INSERT 구문 생성하기 특정데이터의 값을 다른 SQL로 옮기는 일이 자주 발생하였다.처음에는 일일이 데이터를 옮겼는데 여러번 발생을 하다보니 한번에 옮길 방법이 필요했다.테이블 전체 데이터를 옮길려면 태스크 > 데이터 내보내기 방법을 사용하여 옮길 수 있지만전체가 아닌 특정 데이터들만 옮길때는 불편한 점이 발생하여,이번 기회에 INSERT문을 만들어주는 쿼리를 만들어야 겠다 생각이 들어 하나 만들게 되었다.저와 비슷하게 데이터를 옮길 일이 발생하신 분들은 유용하게 사용하시면 좋겠습니다. DECLARE @TableName NVARCHAR(100) = 'your table name'; -- 테이블 이름DECLARE @Columns NVARCHAR(MAX); -- 동적 칼럼 목록DECLARE @Values NVARCHAR(MAX);.. 2024. 11. 27. MS-SQL에서 PIVOT을 이용하여 조회할 때 가변칼럼 형태로 조회결과 가져오기, 동적피벗 사용하기 MSSQL에서 피벗 테이블을 이용해 가변 칼럼을 조회하려면 동적 피벗(Dynamic Pivot) 방식을 사용해야 합니다. 고정된 값이 아닌 동적으로 변하는 컬럼 값을 처리하기 위해서 SQL 쿼리를 동적으로 생성하여 실행합니다. 이는 일반적인 PIVOT 구문으로는 처리하기 어려운 상황을 해결하기 위한 방법입니다.다음은 동적 피벗을 사용하는 기본적인 흐름입니다.1. 동적으로 변하는 컬럼 값을 가져오기먼저, 피벗할 컬럼 값들을 조회하여 변수에 저장합니다.DECLARE @columns NVARCHAR(MAX);SELECT @columns = STRING_AGG(QUOTENAME(컬럼명), ',')FROM (SELECT DISTINCT 컬럼명 FROM 테이블명) AS 컬럼들;STRING_AGG는 여러 값을 구분자.. 2024. 11. 22. 이전 1 다음 728x90