2013-07-30 2 views
2

에 존재하지 않는 한 나는 다음과 같은 쿼리가 :풀 이름은 행이 다른 테이블

SELECT a.id, a.Nome, ... 
FROM cadClientes as a 
... 
join Contatos_Clientes as f on a.id = f.idCliente 

문제는 때때로 Contatos_Clientes의 행이 아니라고입니다.

Nome이있는 경우 Contatos_Clientes을 반환하고 그렇지 않으면 을 cadClientes에서 반환하고 싶습니다.

+4

는'OUTER JOIN'로 봐주세요 ... 객체를 생성/참조 할 때 스키마 접두사를 사용하고, C 의미있는 별명 대신에 A, B를 사용하여보십시오. –

+0

Aaron Bertrand, 고마워. 왼쪽 가입은 내 문제를 해결했습니다. 당신은 내가 그것을 받아 들일 수 있도록 awnser를 게시 plz. –

답변

6

한 테이블의 값이 다른 테이블에없는 경우에만 값을 표시하려면 조인을 LEFT OUTER JOIN으로 변경해야합니다. 예 :

SELECT Nome = COALESCE(c.Nome, cc.Nome) -- ,... Other columns 
FROM dbo.cadClientes AS c 
-- other joins... 
LEFT OUTER JOIN dbo.Contatos_Clientes AS cc 
ON c.id = cc.idCliente; 

항상

관련 문제