我有一個簡單的表tblAllUsers,它存儲UserId的名稱,出生日期等簡單數值。使用內部連接使用合併的存儲過程
tblInterest存儲UserId.Here的用戶可以具有任何數目的感興趣的並單獨存儲在單獨的行中的感興趣的(一個或多個)的另一種表:
Create table tblInterest
(
Id int primary key identity,
UserId varchar(10),
InterestId int,
Interest varchar(20)
)
因此,當我要顯示的一組感興趣的特定用戶結合在一起,我使用以下查詢:
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr + ', ' ,'') + Interest FROM tblInterest where [email protected]
SELECT @listStr
現在,希望其中所述興趣(S)被顯示在一個字符串中從兩個這些表顯示的用戶信息。
我試過了下面;
Create proc spPlayersGridview
@listStr VARCHAR(MAX)
as
begin
Select tblAllUsers.Category, tblAllUsers.DOB, tblAllUsers.FirstName, tblAllUsers.LastName, tblAllUsers.City, tblAllUsers.State,
@listStr = COALESCE(@listStr + ', ' ,'') + tblInterest.Interest
from tblAllUsers
INNER JOIN tblInterest
ON tblAllUsers.UserId=tblInterest.UserId
where Category='Player'
end
引發異常「將值賦給變量的SELECT語句不能與數據檢索操作組合使用」。
刪除您的這部分'tblAllUsers.Category,tblAllUsers.DOB,tblAllUsers.FirstName,tblAllUsers.LastName,tblAllUsers.City,tblAllUsers.State, '從SELECT查詢。 – Abhishek