Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

left join no funciona

Estas en el tema de left join no funciona en el foro de SQL Server en Foros del Web. Buenas tardes, Compañer@s necesito ayuda para terminar esta consulta, te la tabla "grupos" que es donde se guardan accesorios de celular, la otra es Productos ...
  #1 (permalink)  
Antiguo 22/01/2015, 18:29
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 1 mes
Puntos: 0
left join no funciona

Buenas tardes, Compañer@s necesito ayuda para terminar esta consulta,
te la tabla "grupos" que es donde se guardan accesorios de celular, la otra es Productos que es donde se guardan los Celulares y la otra tabla llamada ProductoVsGrupos
Donde Guardo el registro de que accesorio esta relacionado a que producto.

La Consulta es la Siguiente:
Quiero que me traga todos los grupos (Todos los accesorios) que tiene y no tiene un producto.

Es decir si esta o no relacionado en la tabla ProductoVsGrupos
La consulta que tengo hasta el momento es esta.

Tabla Grupo
GruId-GruNombre
1-Accesorio 1
2-Acceorios 2
3-Accesorio 3

Tabla Producto
ProId-ProNombre
1-Producto 1
2-Producto2
3-Producto 3


Tabla ProductoVsGrupo
PvgId-PvgIdProducto-PvgIdGrupo
1 - 1 - 1

Claramente vemos que el producto1 tiene el accesorio 1
El resultado deberia ser el siguiente

ProNombre-GruNombre
Producto 1- Grupo 1
null - Grupo 2
null - Grupo 3




Código SQL:
Ver original
  1. SELECT top 10 [ProNombre], [PvgId], [ProCodigo], [GruId], [GruNombre]
  2. , (CASE WHEN ProId IS NULL THEN 0 ELSE 1 END) AS Radio
  3. , (CASE WHEN ProId IS NULL THEN 'enabled' ELSE 'disabled' END) AS Attr
  4. FROM [Grupos]
  5. LEFT JOIN [ProductosVsGrupos] ON [GruId] = [PvgIdGrupo]
  6. LEFT JOIN [Productos] ON [PvgIdProducto] = [ProId]
  7. WHERE [PvgIdProducto] = '1' OR [PvgIdProducto] IS NULL


Otra cosa quiero evitar hacer subconsultas ya que existen muchos registros.

Gracias por su colaboracion.
  #2 (permalink)  
Antiguo 23/01/2015, 09:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: left join no funciona

prueba con right join y si no con un full outer join :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: problemita, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:40.