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

Como generar registros que no estand entro de una tercera tabla

Estas en el tema de Como generar registros que no estand entro de una tercera tabla en el foro de SQL Server en Foros del Web. Hola buen día me encuentro con el problema de obtener una selección donde me arroje los vehículos que no cuenten con un grupo, es decir ...
  #1 (permalink)  
Antiguo 14/05/2012, 10:45
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Como generar registros que no estand entro de una tercera tabla

Hola buen día me encuentro con el problema de obtener una selección donde me arroje los vehículos que no cuenten con un grupo, es decir tengo una tabla donde almaceno mis vehículos, otros donde almaceno los grupos de vehículos, y una mas donde almaceno el combustible que cargo cada vehículo.
Requiero sacar una selección donde me de los vehículos que no cuenten con un grupo.
  #2 (permalink)  
Antiguo 14/05/2012, 11:55
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como generar registros que no estand entro de una tercera tabla

¿Que avance llevas de tu query?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 14/05/2012, 12:13
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Como generar registros que no estand entro de una tercera tabla

solamente esto
select cargas.vehic,cargas.litros,cargas.cliente,
g.vehic,g.cliente,veh.vehic,veh.codcliente
from CARGAS
inner join VEH
on CARGAS.VEHIC=VEH.VEHIC
inner join grupo as g
on G.VEHIC=CARGAS.VEHIC AND VEH.VEHIC=G.VEHIC
where cargas.fecha between '2012-04-01 00:01:00' and '2012-04-30 23:59:59'
and cargas.tipo=1 and g.cliente <> veh.codcliente


pero me duplica cargas y si le pongo el distinct aun asi me da duplicados
  #4 (permalink)  
Antiguo 14/05/2012, 12:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como generar registros que no estand entro de una tercera tabla

Cuando tienes tablas y siempre que tengas la necesidad de sacar registro que NO ESTEN en otra tabla, siempre resuelvelo con NOT EXISTS, te pongo un ejemplo:

SELECT * FROM VEHICULOS WHERE NOT EXISTS (SELECT * FROM GRUPOS WHERE GRUPO.ID = VEHICULO.ID)
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 14/05/2012, 12:31
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Como generar registros que no estand entro de una tercera tabla

ok muchas gracias
  #6 (permalink)  
Antiguo 14/05/2012, 13:23
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Como generar registros que no estand entro de una tercera tabla

Disculpa una duda si quiera que me diera las cargas de los vehículos que no estén en el grupo como podría hacer esa sentencia.
  #7 (permalink)  
Antiguo 14/05/2012, 16:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como generar registros que no estand entro de una tercera tabla

Ya te di la consulta que te da de todos aquellos vehiculos que no estan en los GRUPOS, ¿que te hace falta?, unir mediante un JOIN esta consulta con las CARGAS, ¿cierto?
__________________
MCTS Isaias Islas
  #8 (permalink)  
Antiguo 15/05/2012, 09:40
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Como generar registros que no estand entro de una tercera tabla

si, bueno de cierta forma ya se resolvio solo me encuentro con esta duda.
Para que se utiliza el caracter *=, me suena como a comparativa pero exactamente no entiendo su funcion.
  #9 (permalink)  
Antiguo 15/05/2012, 12:57
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como generar registros que no estand entro de una tercera tabla

Es una codificacion antigua del LEFT JOIN (*=) y RIGHT JOIN (=*), ya no debes utilizarlas
__________________
MCTS Isaias Islas

Etiquetas: select
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 14:40.