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

Consulta SQL para detectar registro duplicado con un par de condiciones.

Estas en el tema de Consulta SQL para detectar registro duplicado con un par de condiciones. en el foro de Bases de Datos General en Foros del Web. Hola, les cuento lo que tengo y lo que necesito a ver si me dan un poco de luz, llevo mucho con esto y no ...
  #1 (permalink)  
Antiguo 27/03/2011, 14:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Consulta SQL para detectar registro duplicado con un par de condiciones.

Hola, les cuento lo que tengo y lo que necesito a ver si me dan un poco de luz, llevo mucho con esto y no lo saco, ni con ejemplos del google .. en fin, ahí va:

Tengo un tabla llamada fotos con los campos id, referencia, nombre, color

Necesito saber el id del campo con referencia xx (numerico que se lo paso yo manualmente) que tenga las siguientes condiciones:

1) Tenga el valor color Duplicado
2) Tenga como valor nombre "sinfoto.gif"


Se que esto me retornará un sólo registro, que es lo que realmente me interesa.

Lo estoy trabjando en Ms access, pero bueno imagino que la SQL no variará de otro tipo de BBDD.

Les agradeceria su ayuda, gracias por adelantado.
  #2 (permalink)  
Antiguo 28/03/2011, 01:17
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

Código MySQL:
Ver original
  1. FROM fotos
  2. WHERE referencia = xx
  3. AND color = 'Duplicado'
  4. AND nombre = 'sinfoto.gif'
  #3 (permalink)  
Antiguo 28/03/2011, 05:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

Muchas gracias Heimish2000, veoq ue no me explique bien, veamos, todo esta ok, menos que donde pido duplicado no pido un string si no el Duplicado real ! XD
  #4 (permalink)  
Antiguo 28/03/2011, 06:16
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

Código SQL:
Ver original
  1. SELECT id
  2. FROM fotos
  3. WHERE referencia = xx
  4. AND nombre = 'sinfoto.gif'
  5. AND color IN (
  6. SELECT color, COUNT(*) AS d
  7. FROM fotos
  8. WHERE referencia = xx
  9. AND nombre = 'sinfoto.gif'
  10. GROUP BY color
  11. HAVING d > 1)
  #5 (permalink)  
Antiguo 28/03/2011, 06:50
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

Sólo puedo decirte: MIL GRACIAS !!!
  #6 (permalink)  
Antiguo 28/03/2011, 08:31
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

vaya, al ejecutar la consulta acces me dice esto:

Ha escrito una subconsulta que puede devolver más de un campo sin utilizar la palabra reservada EXISTS en la cláusula FROM de la consulta principal.
Corrija la instrucción SELECT de la subconsulta para solicitar un único campo.


???????
  #7 (permalink)  
Antiguo 28/03/2011, 10:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para detectar registro duplicado con un par de condiciones.

y lo tengo:

SELECT *
FROM fotos
WHERE referencia = 'xx' AND nombre = 'sinfoto.gif' AND
color IN (SELECT color FROM fotos WHERE referencia = 'xx'
GROUP BY color
HAVING count(color) > 1)

Gracias de nuevo !!!

Etiquetas: condiciones, duplicado, registro, sql, bases-de-datos
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:13.