1
我遇到这种情况,我需要从包含列名'YrId'
的多个表中获取记录,并且我只想从该表中检索不同的值,并且我想要计算按'YrId'
分组的值。要获得其中包含我已返回我的表名下面的查询具有所需的列如何在SQL Server中使用count从多个表中获取不同的值?
SELECT
t.name AS [Table Name],
'Total Record Count'=max(i.rows)
FROM
sys.tables AS t
INNER JOIN
sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
INNER JOIN
sysindexes i ON t.object_id=i.id
WHERE
c.name LIKE '%yrid%'
GROUP BY
t.name
HAVING
MAX(i.rows) > 0
ORDER BY
[total record count] DESC
从这个查询比0值列,我得到它具有列'yrid'
现在让我运行不同的值表名称在查询上面给出的查询返回的表名称后进行查询。
select distinct yrid, 'Table1'
from Table1
但我有一个上述查询的问题,它在多行集合,我不想要的产生输出。我想生成相同的行集输出,应该在下面等给出:
Table Name YrId1Count YrId2Count
----------------------------------
Table1 250 350
Table2 320 410
据我所知,它可以通过PIVOT来实现,但是我只是没能做到这一点。
我不认为你的问题显然是可以理解的。你能否重新解释这个问题并添加一些示例源数据,以便我们知道你实际想要达到的目标?谢谢。 – ViKiNG
有许多许多许多在线示例的枢纽。你尝试过吗? –