Sql 在查询结果中将一个表中的行数据显示为列

Sql 在查询结果中将一个表中的行数据显示为列,sql,sql-server,Sql,Sql Server,基本SQL问题,我希望在查询结果中将一个表中的行数据显示为列。我有两个表,表1有一个客户ID,我希望将其明确分组,另一个表2有每个客户ID的多个电话号码 更复杂的是,如果表2中的一行的电话号码是0,那么该记录中的另一个字段包含电子邮件地址,我也希望显示该地址 因此,输出如下所示: CUSTOMER ID PHONE 1 PHONE 2 EMAIL 1 EMAIL 2 ... 232323 382389 322333 gh@gj.com fhgh@.co.uk

基本SQL问题,我希望在查询结果中将一个表中的行数据显示为列。我有两个表,表1有一个客户ID,我希望将其明确分组,另一个表2有每个客户ID的多个电话号码

更复杂的是,如果表2中的一行的电话号码是0,那么该记录中的另一个字段包含电子邮件地址,我也希望显示该地址 因此,输出如下所示:

CUSTOMER ID  PHONE 1   PHONE 2  EMAIL 1   EMAIL 2 ...
232323        382389    322333  gh@gj.com  fhgh@.co.uk
345566        232356            bf@hj.com  hjgh@.co.uk
等等

表1的示例:

CUSTOMER ID 
  232323        
  345566 
表2的示例:

Phone No    Email       CUSTOMER ID 
0           gh@gj.com     232323   
322333                    232323 
0          hjgh@.co.uk    345566  
0          fhgh@.co.uk    232323  
232356                    345566 
0          bf@hj.com      345566 
382389                    232323   

欢迎提供任何帮助:

如果您添加查询,我们可以帮助您将其转换为pivot语句感谢您的回复。支点在这里如何工作?这不是需要动态的吗?B我没有一个要聚合的值,我能找到的所有pivot Exmaple都在聚合一些要围绕的值。