user3931836:
Necesito una consulta SQL para hacer la siguiente tarea:
Tengo dos columnas. Columna 'foo' y 'bar' columna.
Las necesidades de consulta para devolver resultados si y sólo si la columna 'foo' tiene valores diferentes, pero 'bar' tiene los mismos valores.
Por ejemplo:
Foo Bar
---------------------
1 John
1 Lee
2 James
3 Robin <- the value '3' needs to be returned
3 Sally
1 Peter
1 John
4 Brian
2 Robin <- the value '2' needs to be returned
Si tuviera que ejecutar la consulta en el conjunto de datos anterior, entonces ambas filas indican las flechas por encima de aparentes sería devuelto, porque 'bar' es el mismo en ambas filas, pero 'foo' es diferente.
Cualquier ayuda sería apreciada.
Gracias.
Gordon Linoff:
Puede hacer lo que quiera utilizar exists
:
select t.*
from t
where exists (select 1
from t t2
where t2.bar = t.bar and t2.foo <> t.foo
);