두 테이블 (tableA 및 tableB)에 이름 열이 있습니다. tableA의 이름 열은 NAME이라고 할 수 있지만 tableB의 열은 FULLNAME이라고 할 수 있지만 둘 다 같은 값을 가져야합니다.WHERE 절에서 열 변수 사용
이 두 열 값이 같지 않은 구성원 ID를 가져 오는 쿼리를 작성하려고합니다. 그러나 이것은 매개 변수를 통해 확인하는 열 이름을 전달하고 싶습니다. SSRS 보고서에 표시 될 것이므로 앞으로이 두 테이블간에 다른 열을 비교할 수 있기를 바랍니다. . 이 같은
뭔가 :
DECLARE @COLUMN_A VARCHAR(50), @COLUMN_B VARCHAR(50)
/* COLUMN PARAMS WILL BE PASSED IN VIA SSRS */
SELECT
DISTINCT(MEMBER_ID)
FROM
TABLE_A
JOIN TABLE_B
ON (TABLE_A.MEMBER_ID = TABLE_B.MEMBER_ID)
WHERE
@COLUMN_A <> @COLUMN_B
이 가능한 같은가요?
편집 :
또는이 작품이 마음에 드시나요?
DECLARE는 @column VARCHAR (50)
SELECT @column = 'FIRST_NAME';
SELECT DISTINCT
MEMBR_ID,
case
when @column='FIRST_NAME' then MEMBR_FIRST_NAME
when @column='LAST_NAME' then MEMBR_LAST_NAME
end TABLE_1,
case
when @column='FIRST_NAME' then FIRSTNAME
when @column='LAST_NAME' then LASTNAME
end TABLE_2,
@column
FROM
TABLE_1
JOIN TABLE_2
ON (TABLE_1.MEMBR_ID = TABLE_2.MEMBR_ID)
WHERE
[email protected] <> [email protected]
동적 SQL은 당신이 @COLUMN_A 교체하려고 – Prisoner