У меня возникают проблемы с T-SQL. Я новичок в T-SQL.Справка по хранимой процедуре T-SQL: получение друзей пользователя из таблицы друзей
У меня есть база данных записей друзей. Один столбец содержит MemberA_ID, который является идентификатором целого числа для одного из ID члена друга в паре друзей. Еще один столбец содержит MemberB_ID, который является идентификатором целого числа для идентификатора участника другого друга у пары друзей.
Итак, если идентификатор Мэри равен 1, а идентификатор Джона - 2, и они друзья, то строка в таблице друзей будет содержать 1 и 2 (среди других данных).
Я пытаюсь написать хранимую процедуру T-SQL, которая принимает идентификатор члена в качестве входных данных и получает для всех друзей этого члена свой членID и имя пользователя (имя пользователя хранится в другой таблице с именем MemberProfiles).
Я пробовал этот код, но он не принимается.
ALTER PROCEDURE dbo.GetFriends (@ownMemberID [int])
AS
DECLARE @localFriendID_A AS INTEGER
DECLARE @localFriendID_B AS INTEGER
IF EXISTS
(
SELECT @localFriendID_B = MemberB_ID
FROM Friends
WHERE (StartDate IS NOT NULL) AND (EndDate IS NULL)
AND (RequestRejectDate IS NULL) AND (MemberA_ID = @ownMemberID)
)
BEGIN
SELECT MemberID, VisibleUsername
FROM MemberProfiles
WHERE (MemberID = @localFriendID_B)
END
ELSE IF EXISTS
(
SELECT @localFriendID_A = MemberA_ID
FROM Friends
WHERE (StartDate IS NOT NULL) AND (EndDate IS NULL)
AND (RequestRejectDate IS NULL) AND (MemberB_ID = @ownMemberID)
)
BEGIN
SELECT MemberID, VisibleUsername
FROM MemberProfiles
WHERE (MemberID = @localFriendID_A)
END
RETURN
Пробовал это, и это сработало. Я понимаю свою ошибку. Благодарю. – user2225945