SQL - Como hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

 
Vista:

Como hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

Publicado por Laura (4 intervenciones) el 25/05/2007 11:46:22
Que tal?? Tengo una duda que por mucho que he buscado y pensado no he conseguido solventarla..os explico

¿Como puedo hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

1
2
3
4
5
select recete from recetas r , rlist rl, categoria c
Where r.rid=rl.rid and rl.cid=c.cid
and c.cid IN
(select cid from category
 where cname="Vegetarian" and cname="Diabetic");

Algo asi
Muchas 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
sin imagen de perfil

Como hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

Publicado por DALSOM (195 intervenciones) el 25/05/2007 15:08:32
CREO QUE ASI ESTA BIEN,
AUNQUE TAMBIEN PUEDES HACERLO CON JOINS E IN.

PODRIAS EXPLICATER CON MAS DETALLE, YA QUE ENTIENDO QUE ESE QUERY FUNCIONA.

SALUDOS,
DALSOM
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

Como hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

Publicado por Laura (4 intervenciones) el 25/05/2007 16:25:30
1
2
3
4
5
select recete from recetas r , rlist rl, categoria c
Where r.rid=rl.rid and rl.cid=c.cid
and c.cid IN
(select cid from category
where cname="Vegetarian" and cname="Diabetic")

En es que con esa consulta apareceran todas las recetas que tengan almenos una categoria en la subconsulta, y lo que yo querria es que aparecieran las que tienen todas sus categorias en la subconsulta..

no se si me explico bien, lo siento

Pero de todas formas muchisimas grcias por contestar DALSOM
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
sin imagen de perfil

Como hacer para que aparezcan las recetas en las que TODAS sus categorias esten en otra consulta?

Publicado por DALSOM (195 intervenciones) el 28/05/2007 15:21:45
CREO, QUE DEBES HACER ESTO :

- UNA FUNCION QUE TE CUENTE EL TOTAL DE CATEGORIAS POR RECETAS .
- CON ESTA FUNCION HAS TU SELECT COMPARANDO QUE EL TOTAL DE CATEGORIAS SEA IGUAL AL RESULTADO DE LA FUNCION.

A VER, ASI :

1
2
3
4
5
6
7
Function  totalCategorias (@rid int)
return int as
begin
return (select count(*) from rlist where rid = @rid)
end
select recetas.* from recetas
where totalcategorias(recetas.rid)  =  (select count(*) from categorias)
CREO QUE ESTO RESOLVERA EL PROBLEMA.

SI HE DIGITADO ALGO MAL, PUES CORRIGEME.

SALUDOS,
DALSOM.
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