Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/03/2009, 02:06
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Ayuda con una consulta, mostrar interseccion

Código sql:
Ver original
  1. SELECT `desc`, COUNT(`desc`) tot FROM tabla GROUP BY `desc` HAVING tot = (SELECT COUNT(DISTINCT cod) FROM tabla)

Esto te encontrará las que aparecen en todos. Sólo hay algo que se escapa, si tú repites aaa en 03 dos veces lo contará dos veces, pero si con índices, triggers o programación lo tienes controlado, te bastará esto.
Si quieres restringir el número:
Código sql:
Ver original
  1. SELECT `desc`, COUNT(`desc`) tot FROM tabla WHERE cod IN ('02', '03') GROUP BY `desc` HAVING tot = 2
y así encontrarías los que están en 02 y 03 (esto último no lo he probado)

Ten cuidado y no uses como nombre de campo palabras prohibidas como desc que sirve para ordenar descendente. Cambia el nombre de ese campo. Puede hacerse con acentos graves, como te he puesto en mi ejemplo, pero para qué complicarlo.