SQL Server Express를 사용 중이고 다른 테이블에서 다른 열을 LEFT OUTER JOIN
을 사용하여 가져 오려고합니다. 모든 컬럼이 존재하는 경우에만 작동합니다. 그래서 저는 지난 시간 동안 LEFT OUTER JOIN
이 열이 존재하는 경우에만 완료되도록 조건을 추가하는 방법을 읽었습니다.왼쪽 외부 조인 열만 존재하는 경우 (SQL 서버)
참조 아래 코드 (문제가 마지막 LEFT OUTER JOIN
입니다 a.[Page Path]
때문에 존재하지 않음) : 나는 오류가 무엇 이건 내가 IF(EXISTS
을 시도했습니다
SELECT
b.[Page ID],
ISNULL(b.[Page Group],'Other Landing Page') AS [Landing Page Group],
ISNULL(c.[Page Group],'Other Second Page') AS [Second Page Group],
ISNULL(d.[Page Group],'Other Page') AS [Page Path Group],
a.*
FROM [mychoice-data-b9BwZvd] a
LEFT OUTER JOIN [mychoice-pagedims] b
ON
(a.[Landing Page Path] LIKE b.[Page ID])
LEFT OUTER JOIN [mychoice-pagedims] c
ON
(a.[Second Page Path] LIKE c.[Page ID])
LEFT OUTER JOIN [mychoice-pagedims] d
ON
a.[Page Path] LIKE d.[Page ID]
WHERE a.[Page Path] IS NOT NULL
하지만 '잘못된 열 이름'페이지 경로 ''.
if (
select COUNT(*)
from sys.objects so
inner join sys.columns col
on so.object_id = col.object_id
where so.type = 'U' and so.name = 'tablename' and col.name = 'colname'
) > 0
-- column exists -> write select with the join
else
-- column does not exist, don't include the join
는 [mychoice - 데이타 - b9BwZvd] 런타임시 생성된다? 열이 존재하는지 여부를 모르는 이유는 무엇입니까? – fnurglewitz
SQL 쿼리를 만들려고합니다. 다른 데이터 테이블 (다른 열이있을 수 있음)에서 실행할 수 있으며 테이블 이름 만 변경합니다. 실제로이 쿼리를 사용하여 PowerPivot으로 데이터를 가져옵니다. –