Tsql 我有一个Product表,它的PRODUCTID列是Int,我希望所有PRODUCTID都在一行中,用逗号分隔

Tsql 我有一个Product表,它的PRODUCTID列是Int,我希望所有PRODUCTID都在一行中,用逗号分隔,tsql,Tsql,我希望所有产品ID都从产品表中提取到一行,用逗号分隔。每个产品ID用逗号分隔 产品ID 6578,7657,65836,84947,8464..... 因此假设您使用的是MS SQL Server,您应该能够通过以下代码实现您的目标 SELECT STUFF(( SELECT ', ' + CAST(PRODUCT_ID as VARCHAR(20)) FROM PRODUCT_TABLE FOR XML PATH('')

我希望所有产品ID都从产品表中提取到一行,用逗号分隔。每个产品ID用逗号分隔

产品ID
6578,7657,65836,84947,8464..... 因此

假设您使用的是MS SQL Server,您应该能够通过以下代码实现您的目标

SELECT STUFF((
            SELECT ', ' + CAST(PRODUCT_ID as VARCHAR(20))
            FROM PRODUCT_TABLE
            FOR XML PATH('')
            ), 1, 1, '')
对于MSSQL Server 2017及更新版本,您还可以使用字符串_AGG

SELECT STRING_AGG(CAST(PRODUCT_ID as VARCHAR(MAX)), ', ') FROM PRODUCT_TABLE
从选项卡的GROUPORDER BY PRODUCTID中选择字符串_AGGPRODUCTID,','