私は、FacilityDatabaseConnection という名前のテーブルを持っています。同様に、ID、FacilityID、DatabaseTypeID、ConnectionString です。
したがって、FacilityID と DatabaseTypeID のペアを指定すると、ConnectionString が得られます。Facility テーブルと DatabaseType テーブルの両方に「名前」フィールドがあります。次のことを行うために、FacilityDatabaseConnection に「名前」フィールドを作成したいと思います。
SELECT (dbo.Facility.Name+' - '+dbo.DatabaseType.Name) as Name
FROM dbo.FacilityDatabaseConnection
INNER JOIN dbo.Facility
ON dbo.FacilityDatabaseConnection.FacilityID = dbo.Facility.ID
INNER JOIN dbo.DatabaseType
ON dbo.FacilityDatabaseConnection.DatabaseTypeID = dbo.DatabaseType.ID
「FacilityName - DatabaseType」を返すように
これはクエリとして機能しますが、これをフィールドにすることは可能ですか?
私はもう試した、
ALTER TABLE dbo.FacilityDatabaseConnection
ADD Name AS (SELECT (dbo.Facility.Name+' - '+dbo.DatabaseType.Name) as Name
FROM dbo.FacilityDatabaseConnection
INNER JOIN dbo.Facility
ON dbo.FacilityDatabaseConnection.FacilityID = dbo.Facility.ID
INNER JOIN dbo.DatabaseType
ON dbo.FacilityDatabaseConnection.DatabaseTypeID = dbo.DatabaseType.ID) PERSISTED
「このコンテキストではサブクエリは許可されていません。スカラー式のみが許可されています。」というエラーが表示されました。
これを達成する方法はありますか、それともそのような計算フィールドは不可能ですか?