11/02/2016, 09:22
|
| Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses Puntos: 774 | |
Respuesta: listado de comunas por clientes y por area con left join
Código SQL:
Ver originalCREATE TABLE #Comuna (Id INT, nombre VARCHAR(20)) INSERT INTO #comuna VALUES (1,'ARICA') INSERT INTO #comuna VALUES (2,'PUTRE') INSERT INTO #comuna VALUES (3,'IQUIQUE') CREATE TABLE #Cliente (Nombre VARCHAR(20), Correo VARCHAR(50), comuna_id INT) CREATE TABLE #Cliente_area (Cliente_correo VARCHAR(30), area VARCHAR(20)) SELECT isnull(comuna,t4.nombre) AS comuna, isnull(cliente,'') AS cliente, isnull(correo,'') AS correo FROM( SELECT t3.nombre AS comuna, t1.nombre AS cliente, correo FROM #cliente AS t1 LEFT JOIN #cliente_area AS t2 ON (t1.Correo=t2.Cliente_correo) LEFT JOIN #comuna AS t3 ON (t1.comuna_id=t3.Id) WHERE t2.area='comercio' ) AS completa RIGHT JOIN #comuna AS t4 ON (completa.comuna=t4.nombre) /*Resultado: comuna cliente correo PUTRE */
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |