У меня есть 2 таблицы, contact
и membership
функция T-SQL не возвращает все значения
Вот данные из моих таблиц:
CONTACT:
SERIALNUMBER TITLE FIRSTNAME SURNAME
1 Mr John Doe
2 Mrs Jane Doe
ЧЛЕНСТВО:
MEMBERSHIPID NAME SERIALNUMBER
1 TEST 1
1 TEST 2
Когда я пишу следующий ЗЕЬЕСТ:
SELECT *
FROM CONTACT C
INNER JOIN MEMBERSHIP M
ON C.SERIALNUMBER=M.SERIALNUMBER
WHERE M.MEMBERSHIPID = '1'
Я вижу следующие результаты:
SERIALNUMBER TITLE FIRSTNAME SURNAME MEMBERSHIPID NAME SERIALNUMBER
1 Mr John Doe 1 TEST 1
2 Mrs Jane Doe 1 TEST 2
Тогда я написал следующую функцию:
CREATE FUNCTION [dbo].[fnGetMemberNames] (@MEMBERSHIPID VARCHAR(100))
RETURNS VARCHAR(50)
BEGIN
DECLARE @name_to_return AS VARCHAR(50);
SET @name_to_return = NULL;
SELECT @name_to_return =
(C.TITLE + ' ' + C.FIRSTNAME + ' ' + C.SURNAME)
FROM CONTACT C
INNER JOIN MEMBERSHIP M
ON C.SERIALNUMBER=M.SERIALNUMBER
WHERE [email protected];
RETURN @name_to_return ;
END;
я вызываю функцию как это:
SELECT [dbo].[fnGetMemberNames](1)
Но я получаю только одну строку результатов.
Mrs Jane Doe
Я должен видеть возврат каретки или запятую список с ограничителями с Mr John Doe
до голосов за мой очень совершенный вопрос :) – PriceCheaperton