【发布时间】:2011-03-04 13:59:46
【问题描述】:
我有一个基本上包含Person_ID, Action, TimeStamp 的表格,并且使用 Microsoft ReportBuilder 我有一个报告,其中列出了每个人及其操作的 COUNT。
Person Action X ActionY
1 3 5
2 0 4
现在我需要过滤结果以仅显示某个组中的人员,该组由另一个包含 Person_ID、Group_ID 的表定义。
当我根据 Group_ID = x 执行 JOIN 和过滤结果时,计数非常高,尽管它确实过滤正确。
我在 SQL Server 管理器中手动运行查询,它多次返回同一行?
编辑:
我当前的 SQL 是
select t1.personid, t1.action, t2.personid, t2.groupid
from t1
inner join t2 on t1.personid = t2.personid
where t2.groupid = 1
这会多次返回每一行,忘记计数部分,因为这是在报告生成器中我想了解为什么多次返回同一行,因为这会破坏报告。
【问题讨论】:
-
你能展示一些示例数据吗?即,表 1 中的一些内容,表 2 中的一些内容,你想要什么以及你得到什么?
-
使用 SELECT DISTINCT 有效,但我仍然不明白是什么原因导致查询多次返回相同的行?它必须与 JOIN 语法有关。
标签: sql-server join