Tradesという既存のテーブルに乗算器という新しい列を追加しようとしています。この列の行の値は、タイプと呼ばれるTradesテーブルの別の列に依存します。 Typeが "Equity"、 "Corp"または "Option"以外の場合は、ContractSizeという別のテーブルから値を参照する必要があります。最後に、乗数列のデータ型を10進数。)私が持っていたコードはでした:私はこのコードに2つのエラーを取得していますSQL:CASE式に基づいて新しい列を追加し、別のテーブルから値を検索する
ALTER TABLE Portfolio.Trades
ADD Multiplier decimal(7,3) AS
(
CASE
WHEN Type = 'Equity' Then 1
WHEN Type = 'Corp' Then 0.1
WHEN Type = 'Option' Then 100
ELSE
(SELECT ContractSize FROM Portfolio.ContractSize CS
JOIN Portfolio.Trades T
ON T.Identifier = CS.ContractSize)
)
: 'AS' キーワードの近くに
メッセージ156、レベル15、状態1、行2 正しくない構文
メッセージレベル102、レベル15、状態1、行12 ')'の近くの構文が正しくありません。
グーグルidanceは非常に高く評価されています。
これをテーブルの「計算済み」列として作成しようとしていますか?または、列の作成後に既存のデータの初期値を設定しようとしていますか? –