gpt4 book ai didi

sql - 查询函数中的多个值并在 1 个变量中返回

转载 作者:行者123 更新时间:2023-12-02 05:01:00 25 4
gpt4 key购买 nike

我想写一个查询数据库的函数:

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

我想写一个返回@MemberNames 的函数,就像 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

上面的示例使用字符串连接,并在来自多个列的列标题 Name 下创建一个列,人的头衔后跟一个空格,然后是人的名字,后跟一个空格,最后是姓氏。

你的函数看起来像这样:

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;

关于sql - 查询函数中的多个值并在 1 个变量中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com