私は3つのテーブルを持っています、
表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に対してチェックすることによって食べられるかどうか、それがfalseの場合は、 Fruit_Crate_IDとFruit_IDが食べられるかどうかとして表3をチェックします。
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 にフルーツ クレートが食べられると記載されている場合は、フルーツ自体が食べられるかどうかを確認する必要があります。
ありがとう