我有三個表,爲什麼越來越語法錯誤此SQL存儲過程
表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第一,如果說,水果不食用,然後我必須返回false無論水果的ID。
但是如果表2說水果箱是可食用的,那麼我必須檢查水果本身是否可以食用。
感謝
..你有花括號,這是不是在T-SQL作用域。此外,你似乎期望從該表達式布爾結果。 –