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

Mostrar datos no repetidos?

Estas en el tema de Mostrar datos no repetidos? en el foro de Bases de Datos General en Foros del Web. Hola, quisiera sacar ciertos datos... Tengo dos tablas.. ClientesOffline A B C D E F G H I J K ClientesOnline A B C D ...
  #1 (permalink)  
Antiguo 04/02/2010, 20:48
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 9 meses
Puntos: 11
Pregunta Mostrar datos no repetidos?

Hola, quisiera sacar ciertos datos...

Tengo dos tablas..

ClientesOffline
A
B
C
D
E

F
G
H
I
J
K


ClientesOnline
A
B
C
D
E


Quiero cruzar las tablas...

Necesito todos los clientes que estan en ambas tablas...

Y necesito todos los clientes que no estan en ambas tablas

F
G
H
I
J
K
  #2 (permalink)  
Antiguo 04/02/2010, 21:32
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 10 meses
Puntos: 36
Respuesta: Mostrar datos no repetidos?

¿qué base de datos?, porque si soporta subquerys, puedes hacerlo sin problema
Código sql:
Ver original
  1. SELECT campo FROM tabla WHERE campo NOT IN (SELECT campo FROM otra_tabla);
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 05/02/2010, 01:30
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 9 meses
Puntos: 11
Respuesta: Mostrar datos no repetidos?

Excelente...
  #4 (permalink)  
Antiguo 08/02/2010, 06:01
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Mostrar datos no repetidos?

Realmente es más sencillo y mucho más recomendable que usar NOT IN, porque es de las instrucciones SQL que tiene peor rendimiento.

Sería

Código SQL:
Ver original
  1. SELECT DISTINCT <lista de campos> FROM <tabla1, tabla2>
  2. WHERE tabla1.campo1=tabla2.campo2

Según el sistema de bases de datos que uses podrías tener un operador JOIN, pero el efecto es el mismo que con el código anterior.

Saludos
  #5 (permalink)  
Antiguo 08/02/2010, 09:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Mostrar datos no repetidos?

Aunque no nos dices de qué base hablas, y hay bases que permiten consultas especiales para sacarlo, con MySQL:
Todos
Código SQL:
Ver original
  1. (SELECT campo dato FROM tabla)
  2. UNION
  3. (SELECT campo FROM otra_tabla) ORDER BY dato

los que sólo están en una tabla:
Código SQL:
Ver original
  1. (SELECT campo dato FROM tabla LEFT JOIN otra_tabla ON tabla.campo = otra_tabla.campo WHERE otra_tabla.campo IS NULL)
  2. UNION
  3. (SELECT campo FROM otra_tabla LEFT JOIN tabla ON tabla.campo=otra_tabla.campo WHERE tabla.campo IS NULL) ORDER BY dato

Etiquetas: repetidos
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 10:21.