アイテム テーブルに派生属性の可用性を作成しようとしていますが、そのためには結合を作成する必要がありますか?
可用性 今日の日付が checkoutDate と returndate の間にあるかどうかを確認します。
ER図は次のとおりです。
アイテム テーブルに派生属性の可用性を作成しようとしていますが、そのためには結合を作成する必要がありますか?
可用性 今日の日付が checkoutDate と returndate の間にあるかどうかを確認します。
ER図は次のとおりです。
これを計算列として使用する場合は、UDF を使用することをお勧めします。あなたのダイアグラムでは、ブール値として可用性があります。SQL Server にはブール型のデータ型がないため、少し意味があると思います。これはかなり近いはずですが、テストする必要があります。
CREATE FUNCTION dbo.GetValue
(
@barcode int
)
RETURNS bit
AS
BEGIN
DECLARE @field bit
SELECT @field = CASE WHEN GETDATE()
BETWEEN L.LastReturnDate AND R.ReturnDate THEN 1 ELSE 0 END
FROM [Item] I
JOIN [Load] L ON I.barcode = L.barcode
JOIN [Return] R ON I.barcode = R.barcode
WHERE I.barcode = @barcode
RETURN @field
END
GO
そして、それを計算列として使用します。
ALTER TABLE dbo.Item
ADD Availability AS dbo.GetValue(barcode)
そうは言っても、これはビューに適しているかもしれません。
はい、参加する必要があります。
ビューを使用して、さまざまなテーブルのデータをまとめることをお勧めします。