1

と の両方を含む 1 つのテーブルがoperatorsありoperatorgroupsます。オペレーターは、リンク テーブルを介して「オペレーター グループ」にリンクされます。ここで、「operatorgroup」ごとに、それにリンクされているオペレーターを選択したいと思います。

動的である必要があるため、新しい「operatorgroup」が作成されたときにクエリを調整する必要はありません。

私が今行っているのは、次のクエリを繰り返してオペレーターの名前と「operatorgroup」名をリストすることですが、「operatorgroup」を追加するたびにクエリを書き直す必要があります。すべての異なる「operatorgroups」に対して同じクエリを作成するにはどうすればよいですか

SELECT Distinct A.[ref_dynanaam], A.[naam] 
FROM [dbo].[actiedoor] A  
LEFT JOIN [dbo].[actiedoorlink] B 
ON B.[actiedoorid]=A.[unid] 
OR B.[actiedoorgroepid] = A.[unid]
WHERE B.[actiedoorgroepid] ='unid' AND status >='1' 
order by A.[naam] Desc

これは私に与えます

ref_Dynanaam Naam
Makelaars Makelaars Eyk
、Johan van
Hoetmer、JanR
Rooijen、Manon van

コーチのみが 2 回表示されることに注意してください。すべての 'operatorgroups' (それぞれの個別の b.actiedoorgroepid について) の上記のリスト を お願い し
ますポイント = 上記のクエリの結果



別の編集:
つまり、私はさらに一歩進んでいます。
次のクエリを実行すると、必要なものが得られます。

SELECT Distinct A.[ref_dynanaam], A.[naam], B.[actiedoorgroepid] 
FROM [dbo].[actiedoor] A 
LEFT JOIN [dbo].[actiedoorlink] B 
ON B.[actiedoorid]=A.[unid] 
OR B.[actiedoorgroepid] = A.[unid] 
WHERE (B.[actiedoorgroepid] 
IN (Select DISTINCT B.[actiedoorgroepid]from actiedoorlink as B 
WHERE B.[actiedoorgroepid] = B.[actiedoorgroepid])  AND A.[status] >='1') 
GROUP BY B.[actiedoorgroepid], A.[naam], A.[ref_dynanaam]  

これは私に与えます:

ref_Dynanaam naam actiedoorgroepid
Hoetmer、1 月 4e0001
Leurink、Rob 4e0001 Rooijen 、
Manon van 4e0001 Soodoo
、 Adjai 4e0001




ここで、結果セットの各行に対して、別のサブクエリを実行する必要があります。
助言がありますか?

4

2 に答える 2

0

別のアプローチを取り、クエリ全体を忘れることにしました。代わりに、単純なクエリを作成し、必要なデータを取得するために使用していたプログラムでフィルタリング システムを使用することにしました。でも助けてくれてありがとう!

于 2013-08-23T12:43:00.870 に答える