[英]How to call a function within a new function in SQL Server 2014
I have created a function called PV
which shows me v_id
with lowest cost. 我创建了一个名为PV
的函数,该函数以最低的成本向我显示v_id
。 Now I would like to call that function and would like SQL to display 现在我想调用该函数,并希望显示SQL
p_name, p_description, QH associated
with this v_id
. 与此v_id
。 My question is how do I do that? 我的问题是我该怎么做?
My tables are below along with my function code: 我的表格和功能代码如下:
Code: 码:
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
Note : if I execute this function, along with my input for ptid as 9, it will return the correct v_id
. 注意 :如果我执行此功能,以及将ptid输入为9,它将返回正确的v_id
。 To reiterate: I would like to call that function along with p_name, p_description, and qh 重申一下:我想将该函数与p_name,p_description和qh一起调用
I am new to SQL functions. 我是SQL函数的新手。 Kindly provide me an explanation. 请给我一个解释。
Thanks in advance! 提前致谢!
Does this do what you're looking for: 这是否满足您的需求:
SELECT
p_name
, p_description
, qh
, v_id
FROM
(
SELECT
P.p_name
, P.p_description
, P.qh
, vp.v_id
, ROW_NUMBER() OVER (ORDER BY vp.cost) R
FROM
P
JOIN vp ON P.p_id = vp.p_id
WHERE vp.v_id = dbo.PV(9) -- you may need to alter the schema from 'dbo'
) Q
WHERE R = 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.