我有一个表,其中包含operators
和operatorgroups
。 运营商通过链接表链接到'运营商组'。 现在,对于每个“运营商组”,我想选择与其链接的运营商。对于表中的每个唯一键执行select语句
它需要是动态的,所以当创建一个新的'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纳摩
Makelaars Makelaars
的Eyk,约翰·范
Hoetmer,JanR
Rooijen,Manon van
请注意,只有教练出现两次。 我想说列表中的所有“operatorgroups”(为每个不同的b.actiedoorgroepid)
截图1 不能因少数TO0点声望
发布截图来自“actiedoor”和actiedoorlink表
=某款截图2
无法张贴的截图,由于TO0几个点名誉
=上述查询的结果
另一个编辑:
所以,我更进了一步。
通过执行以下查询我得到那种我需要什么:
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,扬4e0001
Leurink,罗布4e0001
Rooijen ,Manon van 4e0001
Soodoo,Adjai 4e0001
Ideenmanagement Ideeenmanagement 4e0 001
的Eyk,约翰·范4a0002
Hoetmer,扬4a0002
Rooijen,曼侬面包车4a0002
Makelaars Makelaars 4a0002
现在,在结果集中的每一行,我需要执行另一个子查询。
有什么建议吗?
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
明白了!谢谢。 – Onnie