1

我不是 T-SQL Extrodinare,我是应用开发人员。有了这个,我无法弄清楚为什么这个计数会永远持续下去。

select  p.Code,
    count(p.Head) as HeadCount,
        p.Wt
from Povs p
left outer join Sales s on SheetKey = p.SheetKey
left outer join Site [site] on [site].CompanyKey = s.CompanyKey
left outer join Lot lot on lot.LotID = s.LotID
group by lot.LotID, [site].SiteKey, Code, Wt

Povs 中有大约 115749000 条记录。

4

1 回答 1

1

除非这不是真正的查询,否则这是一个问题

left outer join Sales s on SheetKey = p.SheetKey

SheetKey = p.SheetKey 总是会返回 true,所以这是 Sales 中每一行的连接

该连接中的 115,749,000 X 160,000 = 18,519,840,000,000 行

你为什么加入罗得?您可以通过 s.LotID 删除该加入和分组

使用相同的语法。如果您要[],请保持一致。如果我使用连接,我总是使用两部分名称。为什么将 Lot 别名为 lot?

于 2012-09-18T19:40:05.713 回答