我有两个变量,1 个 varchar namedcust_ref
和 1 个 int named associated_ids
。我想要完成的是以下内容:
您提供cust_ref
的值通常会导致从Customer
表中返回 1+ 行。我关心customer_id
为此收集所有记录cust_ref
并将它们存储在associated_ids
由逗号分隔的变量中。
这是我到目前为止的 SQL,显然只是将其中一条customer_id
记录加载到变量中。基于此示例,我想选择@associated_ids
返回以下内容75458,77397,94955
declare @cust_ref varchar(20) = 'ABGR55532'
declare @associated_ids int
select distinct @associated_ids = customer_id
from dbo.Customer
where cust_ref = @cust_ref
select @associated_ids
select *
from dbo.Customer
where cust_ref = @cust_ref
这是上面的结果,如您所见,associated_ids
在此示例中实际上我需要将 3 个存储在变量中,但我的命令正在捕获最大的,我希望所有 3 个用逗号分隔。