正如你可以猜到我的问题是如何表达的,我没有很大的SQL技能。
我们有一个新的数据库,其中包含一个包含所有“答案”的表格。在一个领域。然后,我们在同一个表格中有另一个字段,其中包含“答案”的标识符。领域。我想要做的是根据标识符为每个答案创建一个单独的字段。
数据的一个例子是:
IDENTIFIER ANSWER
property type House
vehicle Car
property type Bungalow
property type House
vehicle Van
我想要的是:
VEHICLE PROPERTY TYPE
car House
van Bungalow
我希望这是有道理的。
答案 0 :(得分:0)
我无法看到你的房产类型和车辆如何连接在同一排......这是我能做的最好的,如果你可以根据你把它们放在同一个地方来解释我们我可以改变这个查询
但这是我到目前为止所得到的......
Create table #TempTest (Identifier nvarchar(100), Answer nvarchar(100))
insert into #TempTest (Identifier, Answer)
values
('property type', 'House'),
('vehicle', 'Car'),
('property type', 'Bungalow'),
('property type', 'House'),
('vehicle', 'Van')
Select distinct ISNULL([property type],'') [property type],
ISNULL([vehicle],'') [vehicle]
from (
select Row_Number() over (order by [identifier], [Answer]) as 'RowNum', identifier, Answer from #TempTest
) src
PIVOT
(
MAX(Answer) for identifier IN ([property type],[vehicle])
) piv1
它会给你这样的结果:
property type vehicle
Car
Van
Bungalow
House
答案 1 :(得分:0)
这是一种常规的设计模式。一些文献称其为递归参考,其他文献称其为反射性参考。
外键表示ER的意义上的关系。引用同一表中不同行的外键仅表示同一实体的两个实例之间的关系。
示例:员工与主管,另一名员工之间的关系。