
31/08/2012, 16:08
|
 | Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 6 meses Puntos: 774 | |
Respuesta: Consulta con left join querias obtener un producto cartesiano entre tus 2 tablas(esto es que para un usuario necesitabas que tuviera todos los productos) que eso se hace con
SELECT * FROM #temp as t1, (select distinct cod_soc from #temp2) as t2
(aqui puse un distinct para que no repitiera los numeros de usuario)
despues se tenia que sacar de todas las opciones cual estaba marcada y cual no para lo cual se hizo:
SELECT t3.descripcion, t3.cod_doc,t3.cod_soc,case when t4.cod_soc IS NULL then 'No' else 'Si' end AS entregado FROM(
SELECT * FROM #temp as t1, (select distinct cod_soc from #temp2) as t2)
t3
LEFT JOIN #temp2 as t4 on (t4.cod_doc=t3.cod_doc and t3.cod_soc=t4.cod_soc)
al final se hace un left join con la tabla de documentos para sacar cuales documentos ya fueron entregados :) y con un case comparas si el valor fue entregado o no :)
saludos!
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |