1 つの varchar という名前の変数と 1 つのcust_ref
int という名前の 2 つの変数がありますassociated_ids
。私が達成しようとしていることは次のとおりです。
cust_ref
通常、テーブルから 1 行以上返される値を指定しますCustomer
。そのためのすべてのcustomer_id
レコードを収集し、それらをコンマで区切られcust_ref
た変数に格納することに関心があります。associated_ids
customer_id
これは私がこれまでに持っている SQL であり、明らかにレコードの 1 つだけを変数にロードしています。この例に基づいて@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 つすべてをコンマで区切ってください。