SQL - Consulta SQL

 
Vista:

Consulta SQL

Publicado por gabriel (1 intervención) el 17/12/2006 19:46:18
Buenas, recién estoy aprendiendo sql y debo realizar una consulta que me resulta complicada pero creo que es bastante útil y común y que seguro a más de uno ya se le presentó.
Esquemáticamente, tengo una tabla a con una columna a, una tabla b con una columna b y una tabla ab con dos columnas a y b, que uso para asociar una ocurrencia de a con ninguna, una o varias ocurrencias de b.
La consulta debe seleccionar todas las ocurrencias de a que están asociadas con todas las ocurrencias de b.
Lo he resuelto de la siguiente manera:

select a.a from a join ab on a.a = ab.a group by a having count(b) = (select count(b) from b)

A alguien se le ocurre una mejor manera, o más sencilla, de hacerlo?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta SQL

Publicado por Isaías (5072 intervenciones) el 18/12/2006 21:10:12
La forma en que estas asociando las tablas, no es la mas correcta, pero bueno, puedes hacer lo siguiente.

SELECT a.colid
FROM a JOIN ab on a.colid = ab.colid
JOIN b on b.colid = ab.colid

En realidad COLID es tu columna que une a tus tablas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar