【发布时间】:2016-09-07 20:40:44
【问题描述】:
表 1:
Itemid saleid
---------------
53355 23224
33544 33246
53355 33353
43324 33353
表 2:
Saleid Rebate
--------------
23224 3000
33246 5000
33353 5555
33353 4444
这是一个简化的表格。我遇到的问题是我想先按 itemid 分组,然后加入 table2 saleid。如果我自己按 saleid 分组,它会返回 100,000 行数据,这很好,但如果我也按 saleid 分组加入它,我会得到数百万行,这对我来说不可行。有什么想法可以让我完成这项工作,以便我可以连接这些表吗?
所以请记住 itemid 有很多我可以分组的项目,但 saleid 不是唯一的,所以想在分组后连接它
这是一个简单的查询,例如,它可以让我找到数百万行。如果在group by if之后加入的话应该还是100000行数据。
select
ta.itemid, ta.saleid, sa.itemid
from
table1 ta
inner join
saleid sa
where
ta.saleitemid = sa.itemid
group by
itemid, saleid
【问题讨论】:
-
显示实际查询,但很可能您无能为力。你得到的正是你所要求的。请注意,您不会“分组然后加入”。加入首先完成,因为只有在所有相关行数据可用之后才能确定分组。
-
如果有帮助,我在上面提供了一个简单的查询。
-
一个商品 ID 可以与多个销售 ID 配对吗?
-
其实。我们可能还需要按第二个表进行分组,因为它可能与 table2 中的多个销售 ID 配对,但很高兴在第二个问题之前先解决第一个问题。
-
你想要什么结果集?我希望在聚合查询中看到聚合函数。
标签: sql sql-server