Quantcast
Channel: SQLServerCentral » SQL Server 2014 » Development - SQL Server 2014 » Latest topics
Viewing all articles
Browse latest Browse all 3145

Dynamically passing values to IN clause.

$
0
0
[font="Arial"]Hi,I am trying to pass values dynamically to IN clause.I have copied records into variable @String and I am trying to pass this variable as a filter to next query.Please help me here.I have attached SQL Query as well.[/font][font="System"][size="2"]CREATE TABLE #Role( RoleID INT IDENTITY(1001,1), RoleName NVARCHAR(50), DisplayName NVARCHAR(100), RoleDescription NVARCHAR(100), Constraint pk_Role_RoleID Primary Key (RoleID))INSERT INTO #Role(RoleName, DisplayName, RoleDescription) VALUES('Developer', 'Developer', 'Development Work');INSERT INTO #Role(RoleName, DisplayName, RoleDescription) VALUES('Tester', 'Tester', 'Testing Work');INSERT INTO #Role(RoleName, DisplayName, RoleDescription) VALUES('ProjectManager', 'Project Manager', 'Project Management Work');INSERT INTO #Role(RoleName, DisplayName, RoleDescription) VALUES('DeliveryManager', 'Delivery Manager', 'Project Management and Delivery Work');CREATE TABLE #User( UserID INT IDENTITY(110001,1), UserName NVARCHAR(50), RoleID INT, Constraint pk_User_UserID Primary Key(UserID), --Constraint fk_User_RoleID Foreign Key(RoleID) References #Role(RoleID))INSERT INTO #User(UserName, RoleID) VALUES('Roger W', 1003);INSERT INTO #User(UserName, RoleID) VALUES('Mike S', 1002);INSERT INTO #User(UserName, RoleID) VALUES('Venus F',1001);INSERT INTO #User(UserName, RoleID) VALUES('Frank P', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Kevin R', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Linda G', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Will A', 1004);INSERT INTO #User(UserName, RoleID) VALUES('Adam J', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Jerom L', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Raymond S', 1003);INSERT INTO #User(UserName, RoleID) VALUES('Andy M', 1002);INSERT INTO #User(UserName, RoleID) VALUES('Jenny W', 1001);INSERT INTO #User(UserName, RoleID) VALUES('John A', 1002);INSERT INTO #User(UserName, RoleID) VALUES('Chris B', 1001);INSERT INTO #User(UserName, RoleID) VALUES('Martina D', 1001);CREATE TABLE #UserTask( TaskID INT IDENTITY(100000001,1), TaskName NVARCHAR(100), TaskDescription NVARCHAR(100), UserID INT, StartDate DATE, EndDate DATE, Status NVARCHAR(50), Constraint pk_UserTask_TaskID Primary Key(TaskID), --Constraint fk_UserTask_UserID Foreign Key(UserID) References #User(UserID))INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New SQL Script', 'Creating new SQL script', 110003, '02/28/2015', '03/12/2015', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New Web Page', 'Adding new web page', 110008, '01/18/2015', '03/05/2015', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('Update SQL Script', 'Modifying new SQL script', 110015, '01/09/2015', '01/15/2015', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New Report Test', 'Testing new Report', 110011, '06/30/2016', '', 'Progressing');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('Add In Test', 'Testing new addin', 110013, '04/15/2016', '04/20/2016', 'Aborted');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New DB Script', 'Creating new PL/SQL script', 110003, '01/19/2016', '02/22/2016', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New Java Script', 'Creating new Java script', 110005, '12/02/2015', '01/29/2016', 'Aborted');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New C# Script', 'Creating new C# script', 110003, '02/28/2015', '03/12/2015', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New SQL Script', 'Creating new SQL script', 110001, '05/10/2016', '', 'Progressing');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New DB Design', 'Designing new database', 110006, '06/14/2016', '', 'Progressing');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('Update web page', 'Modifying web page', 110009, '05/28/2016', '06/27/2016', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New TSQL script', 'Creating new SQL script', 110005, '01/10/2016', '02/12/2016', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('Update SQL Script', 'Modifying SQL script', 110012, '04/16/2016', '', 'Progressing');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New JQuery Script', 'Creating new JQuery script', 110002, '05/12/2016', '05/31/2016', 'Completed');INSERT INTO #UserTask(TaskName, TaskDescription, UserID, StartDate, EndDate, Status) VALUES('New C# Script', 'Creating new C# script', 110004, '01/24/2016', '03/29/2016', 'Completed');DECLARE @Role AS NVARCHAR(50) = 'ProjectManager';DECLARE @String AS VARCHAR(100) = '';SELECT Distinct @String = CASE WHEN @Role = 'Developer' THEN 'Developer' WHEN @Role = 'Tester' THEN 'Tester' WHEN @Role = 'ProjectManager' THEN ( SELECT Distinct STUFF( (SELECT ', ' + ''''+R.RoleName+'''' FROM #Role AS R WHERE R.RoleID IN (1001, 1002, 1003) FOR XML PATH('')), 1, 1, '') AS UserRole FROM #Role WITH (NoLock) ) ENDFROM #Role AS RR WITH (NoLock)SELECT @StringSELECT DISTINCT UT.TaskID, UT.TaskName, U.UserName, UT.StartDate, UT.EndDate, UT.Status, R.RoleNameFROM [#User] AS U WITH (NoLock)LEFT JOIN [#UserTask] AS UT WITH (NoLock)ON U.UserID = UT.UserIDLEFT JOIN [#Role] AS R WITH (NoLock)ON R.RoleID = U.RoleIDWHERE R.RoleName IN(@String)DROP TABLE #RoleDROP TABLE #UserDROP TABLE #UserTask[/size][/font]

Viewing all articles
Browse latest Browse all 3145

Trending Articles