문제

WHERE 절의 일부가 '일부 상수'조건과 동일 할 때 pre ansi-92 구문 (예 : *=)을 사용하여 왼쪽 조인을 지정하려는 구문은 무엇입니까? (이 경우 100은 상수입니다)

예시:


SELECT t1.ID, t.* 
FROM (select * from SybaseTable where ID=1) t, SqlServerTable t1
WHERE t1.ID *= 100 and t1.SeqNo *= t.SeqNo

이 경우 't1'이 일치하지 않더라도 파생 된 테이블 't'의 모든 레코드를 원합니다. seqno의 일치하는 행이 't'에 존재하지 않을 때 t1.id가 선택 절에서 null을 반환하기를 원합니다.

내가받는 오류는 "외부 조인의 두 용어 모두 열이 포함되어 있어야합니다"입니다.

현재 SQL Server 2005 에서이 쿼리를 실행하고 있지만 결국에는 Sybase 구현에 대해 사용되며 이전 조인 구문이 필요합니다.

미리 감사드립니다

도움이 되었습니까?

해결책

나는 이것이 그렇게 할 것이라고 생각하지만, 당신은 확실하게 테스트해야합니다.

SELECT t1.ID, t.* 
FROM (select * from SybaseTable where ID=1) t, SqlServerTable t1
WHERE t.SeqNo *= t1.SeqNo AND 100 *= t1.ID

Seqno 부품의 순서를 뒤집어 조인의 왼쪽인지 더 잘 표시했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top