SQL - Ayuda

 
Vista:

Ayuda

Publicado por Alvin (2 intervenciones) el 13/03/2005 17:46:39
Hola amigos, necesito que me ayuden a relizar una consulta sql que me mandaron como tarea:
teniendo en cuenta la siguiente tabla con estos atributos:

Tabla Ingrediente_Receta
-----------------------------------------------------------
|Receta | Ingrediente | Medida | Proporcion |
-----------------------------------------------------------
Clave Primaria: receta e ingrediente

Me piden hacer la consulta: Seleccionar las recetas "discrepantes", es decir que utilicen los mismos ingredientes, pero en distintas proporciones.
Y lo que tengo hecho es lo siguiente:

Select ir.receta,ir.ingrediente
From Ingrediente_Receta, Ingrediente_Receta ir
Where ir.receta <> Ingrediente_Receta.receta
and ir.ingrediente=Ingrediente_Receta.ingrediente
and ir.proporcion <> Ingrediente_Receta.proporcion

Funciona, pero no es lo que pide, al parecer me falta completarla con algo, que sera?
Utilizo sql server
Les agradezco de antemano,
saludos,
alvin
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:Ayuda

Publicado por EnriqueK (69 intervenciones) el 14/03/2005 15:12:43
Bueno si dices q funciona solo te faltaria un group by al final de tu consulta...

selec...
GROUP BY ir.receta, ir.ingrediente

No entiendo bien tu consulta, pues si tienes dos recetas distintas q usan las mismos ingredientes y en proporciones iguales, cual escojo??

Cree una tabla asi pero no se si sera correcta para ti...

CREATE TABLE INGREDIENTE_RECETA
(
receta VARCHAR(20),
ingrediente INT,
Medida INT,
proporcion INT,
CONSTRAINT ingrediente_receta_PK PRIMARY KEY (receta,ingrediente)
)
GO
INSERT INTO INGREDIENTE_RECETA VALUES ('A',1,2,3)
INSERT INTO INGREDIENTE_RECETA VALUES ('B',1,1,5)
INSERT INTO INGREDIENTE_RECETA VALUES ('A',2,3,1)
INSERT INTO INGREDIENTE_RECETA VALUES ('B',2,3,4)
INSERT INTO INGREDIENTE_RECETA VALUES ('C',1,1,1)
INSERT INTO INGREDIENTE_RECETA VALUES ('A',3,4,2)
INSERT INTO INGREDIENTE_RECETA VALUES ('B',3,1,5)
INSERT INTO INGREDIENTE_RECETA VALUES ('C',2,2,5)
INSERT INTO INGREDIENTE_RECETA VALUES ('A',3,5,3)
INSERT INTO INGREDIENTE_RECETA VALUES ('C',3,5,4)
INSERT INTO INGREDIENTE_RECETA VALUES ('D',1,2,3)
INSERT INTO INGREDIENTE_RECETA VALUES ('E',1,2,4)

en todo caso me dices para verlo ok.

Atte.
EnriqueK
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

RE:Ayuda

Publicado por Alvin (2 intervenciones) el 14/03/2005 20:55:49
Gracias por tu interes.
Aca te muestro como tengo creada la tabla:

Create Table Ingrediente_Receta
(
receta int not null,
ingrediente varchar(40) not null,
medida varchar(40) not null,
proporcion varchar(40) not null
Primary Key (receta,ingrediente)
Foreign Key (receta) References Receta (numero),
Foreign Key (ingrediente) References Ingrediente (nombre),
CHECK (medida IN ('taza','cucharada','cucharadita','unidad','centimetro cubico',
'litro','gramo','kilo'))
)

Y lo que me piden es que resuelva la siguiente consulta que abarca solo esta tabla:
Seleccionar las recetas "discrepantes", es decir que utilicen los mismos ingredientes, pero en distintas proporciones.
Lo que necesitaria es la consulta SQL
saludos,
alvin
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