0

您好,感谢您的关注

我需要将两个不同行的数据转换为一行。

让我们想象一下

ORDERS桌子:

ID    Name    adress   
-------------------- 
01    AA      adr1
02    BB      adr2
03    CC      adr3

LINEORDERS桌子:

ID    IDorder    IDprofileType     ProfileType      idPers   
------------------------------------------------------------- 
01    01         01                Organizer        0045
01    01         02                Present          0085
01    01         02                Present          0032
01    01         03                Manager          0018

让我们想象一下我们想要的结果 >

期望的结果:

IDorder   NameOrder     OrganizerID           PresentID           ManagerID       Diff
------------------------------------------------------------- 
01        AA            0045                  0085                0018            yes
01        AA            0045                  0032                0018            yes

Diff是,如果managerIDorganizerID不同。

我怎样才能得到这样的结果?

我需要创建 T-SQL 临时表吗?打火机会是什么?

我的表中有很多行。

谢谢你的帮助

4

2 回答 2

0

您可以通过子查询来实现这一点,但我真的认为您必须在这里进行一些重新设计。因为会有很多子查询。

于 2012-10-25T06:58:27.417 回答
0

如果您使用的是 MS SQL Server,您应该尝试 PIVOT。以下是一些示例:SQL Server:PIVOTing String 数据示例

于 2012-10-25T06:59:25.563 回答