Sql 在函数中查询多个值并在1个变量内返回
我想编写一个查询数据库的函数:Sql 在函数中查询多个值并在1个变量内返回,sql,sql-server,tsql,sql-function,Sql,Sql Server,Tsql,Sql Function,我想编写一个查询数据库的函数: SELECT m.title, m.firstname, m.surname FROM contact c LEFT JOIN membership m ON c.contactID=m.contactID 你看,我可以从上面的查询返回许多联系人。我希望将结果返回到函数中的变量中,以便全局使用 我希望函数的结果如下所示: Mr John Test Mrs Jane Smith CREATE FUNCTION your_function (@ID INT) R
SELECT m.title, m.firstname, m.surname
FROM contact c
LEFT JOIN membership m
ON c.contactID=m.contactID
你看,我可以从上面的查询返回许多联系人。我希望将结果返回到函数中的变量中,以便全局使用
我希望函数的结果如下所示:
Mr John Test
Mrs Jane Smith
CREATE FUNCTION your_function (@ID INT)
RETURNS VARCHAR(50)
BEGIN
DECLARE @name_to_return AS VARCHAR(50);
SELECT @name_to_return =
(m.title + ' ' + m.firstname + ' ' + m.surname)
FROM contact c
LEFT JOIN membership m
ON c.contactID=@ID;
RETURN @name_to_return ;
END;
我想写一个返回@MemberName的函数,就像John和Jane的例子一样 这就是我迄今为止所做的尝试:
CREATE FUNCTION fnGetMemberNames
(
@membershipID int,
)
RETURNS int
AS
BEGIN
-- Declare the return variable here
DECLARE @MemberNames varchar(300)
SELECT m.title, m.firstname, m.surname
FROM contact c
LEFT JOIN membership m
ON c.contactID=m.contactID
WHERE membershipID=@membershipID
RETURN @MemberNames
END
必须按如下所示更改select语句,然后创建一个返回此值的函数:
SELECT (m.title + ' ' + m.firstname + ' ' + m.surname)
FROM contact c
LEFT JOIN membership m
ON c.contactID=m.contactID
上面的示例使用字符串连接,并从多个列中在列标题名称下创建一个列,其中人员的标题后跟空格,然后是人员的名字后跟空格,最后是姓氏
您的函数将如下所示:
Mr John Test
Mrs Jane Smith
CREATE FUNCTION your_function (@ID INT)
RETURNS VARCHAR(50)
BEGIN
DECLARE @name_to_return AS VARCHAR(50);
SELECT @name_to_return =
(m.title + ' ' + m.firstname + ' ' + m.surname)
FROM contact c
LEFT JOIN membership m
ON c.contactID=@ID;
RETURN @name_to_return ;
END;
之所以回答这个问题,是因为@variable被解释为@user指令 @PriceCheaperton-看看Azzi写的: 您需要将返回变量设置为一个值。现在你只是把它声明为一个空的varchar
SELECT @MemberNames = (m.title + ' ' + m.firstname + ' ' + m.surname) FROM
// the rest of your query here
…就像阿兹说的。我不能100%确定你的问题是什么。您能否详细说明一下数据库中的行是什么样子的,以及您希望输出的确切内容?谢谢我想写一个返回@MemberName的函数,就像John和Jane的例子一样……啊,看来@Azzi的答案是正确的。您可以将所选项目合并为一个完整项目name@PriceCheaperton直到我给出答案才看到你的编辑。你少了几个“;”您的退货类型不正确。检查我给你的模板。谢谢。但是我如何调用此函数或在查询窗口中使用它?@PriceCheaperton SELECT function rgs。。。结果