0
PV
という名前の関数を作成しました。最小のコストでv_id
と表示されます。今度はその関数を呼び出して、SQLにSQL Serverで新しい関数内の関数を呼び出す方法2014
p_name, p_description, QH associated
とこれをv_id
と表示したいと思います。私の質問は私がそれをどうやって行うのだろうか?
- Tb1を:P(P_ID(PK)、P_NAMEチャー(60)、p_descriptionのVARCHAR(300)、QH(INT)
- Tb2の
私のテーブルは私の機能コードとともに以下の通りであります: VP(vp_id(PK)、コスト、P_ID(FK)、v_id(FK))
- TB3:V(v_id(PK)、v_name)
コード:
CREATE FUNCTION PV (@ptid AS INT)
RETURNS INT
AS
BEGIN
DECLARE @vid AS INT
DECLARE @min AS INT
SELECT
ptid = VP.P_ID, @vid = VP.V_ID,
@min = MIN(VP.COST)
FROM
VPr
GROUP BY
VP.P_ID, VP.V_ID
HAVING
MIN(VP.COST) < 25
RETURN @vid
END;
GO
注::ptidの入力を9としてこの関数を実行すると、正しいv_id
が返されます。繰り返す:私はp_name、p_description、およびqhと一緒にその関数を呼びたいと思います。
私はSQL関数を初めて使用しています。親切に私に説明を教えてください。
ありがとうございます!
あなたは機能が異なるスキーマに、例えば格納されている場合 – biggboss2019
「あなたは 『DBO』からスキーマを変更する必要があるかもしれません」について詳しく説明してくださいすることができます'DatabaseName.dbo.PV'ではなく、' DatabaseName.Functionality.PV'などである可能性があります。その場合は 'Functionality.PV'を指定します。 –
ありがとう!上記のコードを試しました。しかし、上記のコードでは、1つのv_id結果を表示する代わりに、2つのv_id結果が表示されます。私は2つの異なるp_nameに1つのv_id INSERTEDを持っています。どのようにこれを修正するための任意の提案? – biggboss2019