我有三张桌子,
表格1
Fruit_Crate_ID (varchar)
Fruit_Crate_Name (varchar)
Fruit_Crate_Size (varchar)
Fruit_Crate_Price (varchar)
表 2
Fruit_Crate_ID (varchar)
Fruit_Eatable (Bool)
表3
Fruit_Crate_ID (integer)
Fruit_ID (integer)
Fruit_Eatable (Bool)
现在我需要创建一个首先检查的存储过程,
如果表 2是否可食用,则通过检查Fruit_Crate_ID如果它为假,则检查表 3是否可以食用Fruit_Crate_ID和Fruit_ID。
USE [Database Name]
GO
CREATE PROCEDURE [dbo].[IsFruitEatable]
@Fruit_Crate_ID int,
@Fruit_ID int
AS
BEGIN
if ((select Fruit_Eatable from Table2
where Table1.Fruit_Crate_ID = @Fruit_Crate_ID))
{
select Fruit_Eatable from Table3
where Table3.Fruit_Crate_ID = @Fruit_Crate_ID and Table3.Fruit_ID = @Fruit_ID
}
更新
我必须首先检查表 2,如果它说水果不可食用,那么无论水果 id 是什么,我都必须返回 false。
但是如果表 2 说水果箱可以食用,那么我必须检查水果本身是否可以食用。
谢谢