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

Saludo y ayuda consulta

Estas en el tema de Saludo y ayuda consulta en el foro de SQL Server en Foros del Web. Buenos días a tod@s los integrantes del foro, mi enhorabuena por la ayuda que aquí se presta. Soy un profano en la materia, pero me ...
  #1 (permalink)  
Antiguo 20/02/2010, 07:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Saludo y ayuda consulta

Buenos días a tod@s los integrantes del foro, mi enhorabuena por la ayuda que aquí se presta. Soy un profano en la materia, pero me ha surgido una tarea que debo realizar y con mis escasos conocimientos no llego a terminar.

Mi problema es el siguiente, tengo una tabla con dos claves primarias, IDVEHICULO y IDPIEZA, mi consulta es para utilizarla en un buscador de vehículos y piezas, necesito seleccionar un vehículo que contenga las piezas 1,2 y 3 y sólo esas piezas.

He intentado hacer una selección como la siguiente:

select IDVEHICULO from vehiculo
where IDPIEZA=1
and IDPIEZA=2
and IDPIEZA=3

esta consulta no me funciona, y si utilizo una consulta como

select IDVEHICULO from vehiculo
where IDPIEZA in (1,2,3)

me devuelve todos los vehículos que contienen esas piezas,

¿¿como obtener únicamente el vehículo que contiene las piezas 1,2 y 3?


también he intentado agrupar.. no consigo hacer esta consulta.

Gracias por adelantado a todos.
  #2 (permalink)  
Antiguo 20/02/2010, 07:49
 
Fecha de Ingreso: febrero-2010
Mensajes: 31
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Saludo y ayuda consulta

Prueba con esto

Código SQL:
Ver original
  1. SELECT id_vehiculo
  2. FROM Vehiculo
  3. WHERE id_pieza IN ('1', '2', '3');
  #3 (permalink)  
Antiguo 20/02/2010, 08:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Saludo y ayuda consulta

Lo siento tatis003 .. no funciona, da el mismo resultado,

el registro del vehículo 75 es

idvehiculo id pieza
75 1
75 2
75 3

y el del vehiculo 76 es

idvehiculo id pieza
76 9
76 22
76 3

y la consulta sólo debería devolver el 75, pero devuelve los dos porque el 76 también contiene la 3

gracias por tu respuesta!
  #4 (permalink)  
Antiguo 22/02/2010, 06:10
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Saludo y ayuda consulta

Cita:
select IDVEHICULO from vehiculo
where IDPIEZA=1
and IDPIEZA=2
and IDPIEZA=3
Quieres recuperar los registros con IDPIEZA=1 Y IDPIEZA=2 Y IDPIEZA=3
y si te fijas eso es imposible, porque solo tendrá unos de los tres valores.

La opción de usar el operador IN es como usar OR, es decir que sea uno de los tres.

Creo que debes aclarar un poco sobre lo que quieres obtener, aunque por tus indicaciones creo que solo quieres uno de los tres cada vez, con lo que te valdría esto

Código SQL:
Ver original
  1. SELECT IDVEHICULO FROM vehiculo
  2. WHERE IDPIEZA=1
  #5 (permalink)  
Antiguo 22/02/2010, 11:05
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 10 meses
Puntos: 3
Respuesta: Saludo y ayuda consulta

podrias poner la estructura de tu tabla?
__________________
roy rojas
Programación en Español: DotNetcr.com

Etiquetas: saludo
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 13:57.