usa un left join :)
Código SQL:
Ver originalDECLARE @persona TABLE (idPersona INT IDENTITY (1,1), nombre VARCHAR (50))
INSERT INTO @persona (nombre) VALUES ('juan')
INSERT INTO @persona (nombre) VALUES ('pedro')
INSERT INTO @persona (nombre) VALUES ('maria')
DECLARE @direccion TABLE (idPersona INT, ubicacion VARCHAR (30))
INSERT INTO @direccion (idPersona, ubicacion) VALUES (1, 'mexico')
INSERT INTO @direccion (idPersona, ubicacion) VALUES (1, 'puebla')
INSERT INTO @direccion (idPersona, ubicacion) VALUES (2, 'peñasco')
SELECT t1.idPersona,t1.nombre,
CASE WHEN t2.idPersona IS NULL THEN '--' ELSE t2.ubicacion END AS ubicacion FROM @persona AS t1
LEFT JOIN @direccion AS t2 ON (t1.idPersona=t2.idPersona)