我有一个具有以下架构的 SQL Server 2008 R2 表
DECLARE @AttributeTable TABLE
(
Code1 nvarchar(50),
Value1 nvarchar(50),
Code2 nvarchar(50),
Value2 nvarchar(50),
Stock int
);
具有以下值:
Color, Red, Size, Large, 15
Color, Blue, Size Large, 5
Size, Large, Color, Green, 4
我正在寻找一种方法来重新排序每一行的列(动态地,而不是在表本身中),以便查询的结果是
Color, Red, Size, Large, 15
Color, Blue, Size Large, 5
Color, Green, Size, Large, 4
但是我想不出任何方法来做到这一点而不求助于创建一个 .NET 函数,这似乎有点矫枉过正。
我承认这是一个失败的架构,但该架构属于我无法更改的第 3 方 ERP。
最后,如果有人对这个问题的标题有一个好主意,请随时编辑(或评论,我会改变它)
编辑:
这个示例所基于的真实表有 6 个不同的键值对而不是两个,并且“代码”值是动态的(当前数据库有大约 45 个不同的代码值)。