2015-09-03 4 views
-2

Я хотел присоединиться к первому запросу со следующей.Регистрация в динамическом запросе в хранимой процедуре

select UserName from UserRegistration where UserID = @UserID 


    SET @sqlText = N'SELECT isnull(SUM(isnull(['+REPLACE(@columns,',','],0)), 
SUM(isnull([') + '],0)), 0)' +' FROM dbo.timesheet 
where month ='''+ @strMonth+''' and [year] =' + 
Cast(@year1 AS VARCHAR(max))+ 'and [Task ID] 
in(select TaskID from ManageTasks where TeamMemberUserID ='+ 
Cast(@UserID AS VARCHAR(max)) +')' 

хочу отобразить в одной строке.

Мой выход,

Username 
-------------------- 
    myName 
-------------------- 

    (No column Name) 
-------------------- 
     49 
------------------- 

Я хочу, чтобы отобразить, как,

Username  |  (no column name) 
----------------------------------- 
      | 
    myName |   49 
----------------------------------- 
+0

'select (выберите 'username' username), 'value' value' – wiretext

+0

Что такое значение здесь? – Prince

ответ

0

просто добавьте имя пользователя динамического SQL строки:

DECLARE @UserName NVARCHAR(50); 
select @UserName = UserName from UserRegistration where UserID = @UserID; 

SET @sqlText = N'SELECT ''' + @UserName + ''' AS UserName 
         , isnull(SUM(isnull(['+REPLACE(@columns,',','],0)) 
         , SUM(isnull([') + '],0)), 0)' +' 
       FROM dbo.timesheet 
       WHERE month ='''+ @strMonth+''' 
         and [year] =' + Cast(@year1 AS VARCHAR(max)) + ' 
         and [Task ID] in (select TaskID from ManageTasks where TeamMemberUserID =' + Cast(@UserID AS VARCHAR(max)) +');' 
+0

Спасибо, что работает. Можете ли вы помочь мне добавить имя столбца для этого динамического запроса? – Prince

+0

Получил это Спасибо, приятель – Prince

0

Попробуйте Ниже

SET @sqlText = N'SELECT ur.UserName, 
isnull(SUM(isnull(['+REPLACE(@columns,',','],0)), 
SUM(isnull([') + '],0)), 0)' +' FROM dbo.timesheet i 
inner join ManageTasks mt on i.[Task ID] = mt.TaskId 
inner join UserRegistration ur on mt.TeamMemberUserID = ur.Username 
where month ='''+ @strMonth+''' and [year] =' + 
Cast(@year1 AS VARCHAR(max))+ 'ur.UserName ='+ 
Cast(@UserID AS VARCHAR(max)) +') group by ur.UserName' 

Сообщите мне, если вам нужна дополнительная помощь

Смежные вопросы