Это моя основная структура таблицы:проблема с хранимой процедурой?
Столбец экспертизы многие ко многим отношений с другой таблицей, которая имеет список доступных языков. Я хотел иметь сплющенную структуру, чтобы отображать все языки, на которых работает эксперт, поэтому я написал хранимую процедуру, которая строит те несколько экспертов, которые подходят для каждого пользователя.
Когда я вызвал этот sp из приложения wpf, он не показывает значения. Я попробовал «данные предварительного просмотра» из браузера объектов, который показывал только одну строку моей таблицы.
(Ожидаемый результат:
В чем проблема с моим подходом
мой Sp:?
create procedure myView as
Begin
DECLARE @count INT,@finCount INT,@result varchar(50)
SET @result =' '
SET @count = 1
SELECT @finCount=COUNT(*) FROM usersProfile
WHILE (@count <= @finCount)
BEGIN
SELECT @[email protected]+langName+','
FROM expertises
INNER JOIN ED_UPD_MERGE on expertises.id=ED_UPD_MERGE.idfrmED
INNER JOIN usersprofile on ED_UPD_MERGE.idfrmUPD=usersprofile.expertiseid
WHERE usersprofile.id [email protected]
SELECT usersProfile.id,usersProfile.fullname,usersProfile.screename ,usersProfile.age ,usersProfile.address ,usersProfile.emailid1 ,usersProfile.emailid2 ,usersProfile.isActive ,usersProfile.entryCreated ,usersProfile.entryModified ,usersProfile.experience ,roles.rolesName,@result as Expertise
FROM usersProfile
JOIN roles
ON usersProfile.roleid =roles.id
WHERE usersprofile.id [email protected]
SET @result= ''
SET @count = (@count + 1)
END
End
Согласовано, никогда не храните данные в delimtied srtring, если у вас есть много разных отношений, требующих трех таблиц. – HLGEM
Кайл: тебя не достали. Elaborate pls :) – sarath
PS: У меня есть таблица моста, если это то, о чем говоришь. Боюсь, что я не упомянул об этом раньше (но это очевидно из JOINS в моей sp). – sarath