Молчун
Зарегистрирован: 19 February 2007
Сообщения: 33
Примеры кода: 0
|
Помогите с процеДУРОЙ |
30 July 2008 14:21 |
|
|
|
|
Доброго времени суток!
В рамках решения организовать на сайте возможность пользователей "вступать в дружеские отношения" (подобно Друзьям на Одноклассниках) была создана таблица (прикреплена) и созданы соответствующие бизнес и дата слои. Для выборки всех друзей пользователя из базы была создана процедура:
ALTER PROCEDURE [dbo].[tbh_Palships_GetUserPals]
(
@UserName nvarchar (256)
)
AS
SET NOCOUNT ON
SELECT PalshipID, AddedDate, InitializedBy, UserName, PalName, IsAproved
FROM aspnet_Users_Pals
WHERE UserName = @UserName AND IsAproved = 1
ORDER BY AddedDate DESC
Функционально предложение вступить в отношения начинается с того что в таблице создается запись с новым ID, AddedDate, InitializedBy, UserName, PalName и IsAproved со значением FALSE.
После того как юзер (кому предложено вступить в отношения) подтверждает свое согласие, SQL-процедурой поле IsAproved помечается как TRUE и отношения начинаются.
Тут начинается запара!
Процедура tbh_Palships_GetUserPals возвращает всех друзей (IsAproved=1) пользователя (UserName) - с этим все хорошо.
Но так как пользователь UserName может и сам быть другом (PalName), хочется что бы процедура возвращала данные и по параметру WHERE PalName = @UserName. Совместить два параметра не удается.
Помогите пожалуйста!
Прикрепленный файл: Table.jpg
|
|