2012-09-27 16 views
5

Quiero ser capaz de encontrar las ocurrencias en una tabla donde una columna es la misma pero otra es diferente.sql selección de servidor consulta una columna es la misma y otra es diferente

tabla Ejemplo:

id team week 
1  1  1 
1  2  1 
2  2  1 
2  1  2 

Quiero una consulta que encontrarán todos los identificadores donde el equipo es diferente, pero la semana sigue siendo el mismo así que algo como equipo no es igual a equipo, pero la semana es igual a la semana.

Básicamente me gustaría saber si alguna identificación cambió equipos en la misma semana, ¿cómo hago esto?

+0

¿Cuáles son los resultados deseados para sus datos de ejemplo? –

+0

algo así como id = 1, week = 1 – kqlambert

+0

En SO, siga los consejos de Yaroslav y siempre publique lo que ha intentado. Si no has probado nada, ¡prueba algo! –

Respuesta

6
SELECT 
    t1.id, 
    t1.week 
FROM 
    YourTable t1 
    JOIN YourTable t2 
     ON t1.ID = t2.ID 
     AND t1.team < t2.team 
     AND t1.week = t2.week 
+0

Gracias, nunca se me ocurrió unirme a la mesa. – kqlambert

+0

@Richardakacyberkiwi Buen punto ... eso evitará que la misma discrepancia sea devuelta dos veces; actualizado. –

+0

@Mic Buen chico, +1 :) – RichardTheKiwi

0
SELECT ID 
, COUNT(DISTINCT TEAM) AS CNT_TEAM 
, COUNT(DISTINCT WEEK) AS CNT_WEEK 
FROM TABLENAME 
GROUP BY ID 
HAVING COUNT(DISTINCT TEAM) > 1 
AND COUNT(DISTINCT WEEK) = 1 
0

Algo como esto?

SELECT distinct id 
FROM TeamWeek 
GROUP BY id, week 
HAVING Count(team) > 1 
Cuestiones relacionadas