私はテーブルを持っていますCompaniesdata
CREATE TABLE [dbo].[Companiesdata]
(
[Company Name] nvarchar(255),
[Industry] varchar(40),
[ParentId] int NULL,
)
行は
CompanyName Industry Parent ID
--------------------------------------------------------
Xyz technologies Software 1
apple Technologies software 1
Sun network media 2
abc Technologies advertising 4
PQR Technnologies Marketing 5
abc Technologies Media 4
別のテーブルがあります
create table dbo.companiesss
(
autoid int identity(1,1),
companyname varchar(max),
Industry varchar(max)
)
私はこのような手順を書きました:
create proc pr_getlistofcompaniesss (@tparentid varchar(20))
as
begin
insert into dbo.companiesss(companyname, industry)
select
[CompanyName], [Industry]
from
[Companiesdata]
where
parentid in (select items from dbo.split(@tparentid,','))
except
select company name, industry
from dbo.companiesss
end
出力は次のとおりです。
pr_getlistofcompaniesss 1,2,4
行は次のように表示されます
AutoID Company name Industry
---------------------------------------------------
1 apple Technologies software
2 Sun network Media
3 xyz Technologies software
4 abc Technologies advertising
5 abc technologies media
代わりに、私の出力は次のようになります。
pr_getlistofcompaniesss 1,2,4
AutoID Company name Industry
---------------------------------------------------
1 apple Technologies software
2 Sun network Media
3 xyz Technologies software
4 abc Technologies advertising,media
つまり、同じ会社(ここabc technologies
)で異なる業界名を使用している場合、業界フィールドはコンマで区切って、同じ行にレコードを表示する必要があります。つまり、(advertising, media
)