两个报告正在使用包含以下查询的表格列
SELECT [Employee Name], [Email_ID], [Region], [DOB], [Joining Date], [Gross Salary] FROM [tblC6FD_Data_15_EmployeeData] ORDER BY [Employee Name] ASC, [Email_ID] ASC, [Region] ASC, [DOB] ASC, [Joining Date] ASC, [Gross Salary] ASC
SELECT [Employee Name], [Region], [Email_ID], [DOB], [Leaving Date], [Basic Salary] FROM [tblC6FD_Data_15_EmployeeData] ORDER BY [Employee Name] ASC, [Region] ASC, [Email_ID] ASC, [DOB] ASC, [Joining Date] ASC, [Gross Salary] ASC
我想要报告使用的表的不同列列表
预期输出
Employee
Email
Region
DOB
Joining Date
Gross Salary
Leaving Date
Basic Salary
我有一个想法是将其与,
分开,但是在来自关键字之后会有很多混淆和复杂以避免其他字符串。
任何人都可以建议一个简单的解决方案。
答案 0 :(得分:1)
我用以下解决方案包装它
declare @str nvarchar(max)
set @str = (select ReportSQL from tblRB_Report where PK_ReportID = 15)
set @str = REPLACE(@str,']',' ')
set @str = REPLACE(@str,'[',' ')
set @str = REPLACE(@str,'select',' ')
set @str = SUBSTRING(@str,0,charindex('FROM',@str))
--print @str
sELECT * from [dbo].[StringSplit](@str,',')
答案 1 :(得分:0)
SELECT c.COLUMN_NAME
FROM INFORMATION_SCHEMA.[COLUMNS] c WHERE c.TABLE_NAME = 'table_name'
答案 2 :(得分:0)
您必须使用字符串函数进行解析,例如在C#中,它将是IndexOf()和Substring()。
P.S。似乎这个问题与sql-server btw无关。