グループに関する情報を含むテーブルがあります。あるグループには何人ものメンバーがいます。グループ識別子と要素識別子があります。私は行グループ上のTSqlの等価性
@groupTableが既にデータベース
@inputDataに存在するデータの一例である与えられたセットがテーブルに存在するか否かを判断する一つの文でのことができるようにするためのデータをされたいというIそれはすでに今、私はセットの関係、groupIdentifierがどのtempGroupIdentifierに関連付けられている上映が表示されますクエリを実行したい@groupTable
declare @groupData table
(
groupIdentifier int,
elementIdentifier uniqueidentifier
)
insert into @groupData values
(1, 'dfce40b1-3719-4e4c-acfa-65f728677700'),
(1, '89e7e6be-cee8-40a7-8135-a54659e0d88c')
declare @inputData table
(
tempGroupIdentifier int,
elementIdentifier uniqueidentifier
)
insert into @inputData values
(42, 'dfce40b1-3719-4e4c-acfa-65f728677700'),
(42, '89e7e6be-cee8-40a7-8135-a54659e0d88c'),
(55, 'dfce40b1-3719-4e4c-acfa-65f728677700'),
(55, '2395a42c-94f4-4cda-a773-221b26ea5e44'),
(55, 'f22db9df-a1f4-4078-b74c-90e34376eff6')
に存在するかどうかを確認したいです。一致するセットがない場合は、それも知る必要があります。
desired output:
groupIdentifier, tempGroupIdentifier
1, 42
null, 55
この問題にどのようにアプローチするかについてのご意見はありますか?
おそらく、行をピボットし、すべてのelementIdentifierを各グループの巨大な文字列に連結して、等価性のあるグループにすることはできますが、それは良い解決策のようには見えません。
を設定しますか?私はここで本当の問題を抱えていますか? – Syska
サンプルデータでは、値 'dfce40b1-3719-4e4c-acfa-65f728677700'が@inputdataテーブルに2回存在します。それは意図的でしたか? –
@Syska:はい、しかし「行ごと」ではなく「行ごとに」 – gbn