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

Obtener resultados repetidos

Estas en el tema de Obtener resultados repetidos en el foro de Mysql en Foros del Web. Hola! aqui tengo una pregunta facil (para quien lo sepa claro). Dada un sentencia como esta (en pseudocodigo): Código: SELECT nombre FROM nombres WHERE id ...
  #1 (permalink)  
Antiguo 17/12/2008, 18:09
 
Fecha de Ingreso: octubre-2008
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 0
Obtener resultados repetidos

Hola! aqui tengo una pregunta facil (para quien lo sepa claro). Dada un sentencia como esta (en pseudocodigo):
Código:
SELECT nombre FROM nombres WHERE id = (3, 3, 5);
Lo que esta entre parentesis es una subconsulta, pero por abreviar... en fin que devuelve solo 2 nombres usando tanto ANY como IN o similares. ¿Hay alguna forma de que tambien me devuelva los valores repetidos? es decir, que al ser 2 valores iguales como en el ejemplo que puesto, me devolviera 3 nombre de los cuales 2 serian iguales (es curioso, la gente siempre quiere quitar repeticiones de las busquedas y a mi que me las quitan solas las quiero tener jajaja).

Por cierto... Feliz navidad y gracias!!!.
  #2 (permalink)  
Antiguo 17/12/2008, 22:17
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Obtener resultados repetidos

No se pueed porque se entiende que esos numeros son la llave o el identificador de los registros de latabla donde hace la segunda consulta si usted pone dos veces 3 solo se va aencontrar un datos que tenga ocmo ID 3 "supongo que es eso lo que esta pasando.

igual si el campo no es PK "coo el siguietne ejemplo" no seria necesario colocar en el where dos veces el 3 porque con un solo 3 traeria los dos registros

Campo Nombre
1 Diego
2 Mauricio
3 Camila
3 Amelia
4 Manuel

la unica seria que nos mostrara un ejemplo exacto del contenido de su tabla para ayudarle a organizar el query


si lo que quiere es que repita "por ejemplo Mauricio " si le estubiera enviando dos veces el codigo dos lo que se me ocurre es que si esta programando en php o java o lo que sea haga un while y cada vez que entre al while le coloca n valor al where

select * from tabla where Codigo = 1
muestra resultado
select * from tabla where Codigo = 2
muestra resulta
select * from tabla where Codigo = 3
muestra resultado
select * from tabla where Codigo = 3
muestra el resultado que seria el mismo del anterior
  #3 (permalink)  
Antiguo 18/12/2008, 01:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
tal vez con UNION ALL

Una posible opción sería con UNION ALL, que permite las repeticiones. Observa que en la segunda selección sólo he puesto el número que se repite. Si fueran una sola repetición, te bastaría con esto; para números que quieras repetir varias vveces, tendrías que añadir más select.
(
SELECT id_nombre, nombre
FROM `nombres`
WHERE id_nombre
IN ( 2, 3 )
)
UNION ALL (

SELECT id_nombre, nombre
FROM `nombres`
WHERE id_nombre
IN ( 3 )
)
ORDER BY nombre

También podrías crear una tabla virtual con esos valores (2, 3, 3, 4) y hacer un cruce normal con inner join.
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 20:28.