【发布时间】:2017-05-12 21:46:52
【问题描述】:
我有一系列 select 语句,它们根据 Group By Query 中的几个 where 子句将唯一 ID 列表返回到输出表中。
我还希望能够从输出表中存在 ID 的表中选择最频繁的 TeamName 值。
即输出表显示
DocTypeID | No Source | No Date | No RefNo | TeamName
--------------- |---------------- |------------- |------------------| -------------
926c4185 | 2 | 1 | 69 | NULL
bff5be99 | 3 | 3 | 5368 | NULL
a04d4rf | NULL | NULL | 26 | NULL
TeamName 值与 DocTypeID 一起存在于 TableA 中,但同一 Doctype ID 可以有不同的 TeamName 值,因此我需要提取最常见的值(即非 NULL)。
我可以用这样的东西确定最常见的值 -
select top 1 [TeamName] , count([TeamName]) 'count'
from Documents
where DocTypeID = '926c4185'
group by [TeamName]
order by count desc
但在尝试使用 TeamName 值更新输出表时遇到了困难。我没有成功尝试合并表,但不确定这是否是正确的方法。
对含糊不清表示歉意,非常感谢您指出正确的方向。如有需要可以提供更多细节
【问题讨论】:
标签: sql tsql select merge count