在我的Customers
表格中,我有PrimaryPhone
和SecondaryPhone
列,并且要求我在两行中分别返回它们。我还要提及的是,在大多数情况下,SecondaryPhone
甚至可能没有值,在这种情况下,无需返回第二行。
因此,这是来自Customers
表的数据:
CustomerId | CompanyName | PrimaryPhone | SecondaryPhone
123 Acme, Inc. 307-555-1234 307-555-2345
234 DataCorp, Inc. | 824-555-6547
Run Code Online (Sandbox Code Playgroud)
我的SELECT
语句应返回以下数据:
CustomerId | CompanyName | Phone
123 Acme, Inc. 307-555-1234
123 Acme, Inc. 307-555-2345
234 DataCorp, Inc. 824-555-6547
Run Code Online (Sandbox Code Playgroud)
我希望您能找到一些有关如何将一列中的数据显示为单独行的指针。谢谢。
交叉申请将是一个很好的选择
Select CustomerId
,CompanyName
,B.*
From Customers A
Cross Apply (values (PrimaryPhone)
,(SecondaryPhone)
) B(Phone)
Where Phone is not null
Run Code Online (Sandbox Code Playgroud)
-编辑忘记了这里