1

アイテム テーブルに派生属性の可用性を作成しようとしていますが、そのためには結合を作成する必要がありますか?

可用性 今日の日付が checkoutDate と returndate の間にあるかどうかを確認します。

ER図は次のとおりです。

ここに画像の説明を入力

4

2 に答える 2

2

これを計算列として使用する場合は、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)

そうは言っても、これはビューに適しているかもしれません。

于 2013-02-21T02:27:05.067 に答える
1

はい、参加する必要があります。

ビューを使用して、さまざまなテーブルのデータをまとめることをお勧めします。

于 2013-02-21T02:11:03.153 に答える