我在sql中有表我希望将fieldColumnName更改为列,将fieldValue更改为行。 这是我的表格图片
答案 0 :(得分:0)
根据您的问题,您想要更改表格(更改列名称和数据类型)
-- check for sql injection
declare @sql nvarchar(max)
set @sql = N'My fancy sql query; truncate table dbo.VeryImportantTable'
IF CHARINDEX(';', ISNULL(@sql,'')) != 0 OR CHARINDEX('--', ISNULL(@sql,'')) != 0
BEGIN
RAISERROR('Invalid input parameter', 16, 1)
RETURN -1
END
在上面的查询中,您可以根据需要更改数据类型。
答案 1 :(得分:0)
如果您知道fieldColumnName列中的所有可能值,那么您可以像这样使用pivot:
declare @data table(fieldValue varchar(50), fieldColumnName varchar(50))
INSERT INTO @data
SELECT '1 - value', 'col1'
UNION
SELECT '2 - value', 'col2'
UNION
SELECT NULL, 'col6'
select *
from @data
select col1, col2, col3
from
(
select fieldValue, fieldColumnName
from @data
) d
pivot
(
max(fieldValue)
for fieldColumnName in (col1, col2, col3)
) piv;