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 でグループ化できます

同じ構文を使用します。[] にする場合は、一貫性を持たせてください。結合を使用する場合は、常に 2 部構成の名前を使用します。なぜ Lot to lot のエイリアスなのですか?

于 2012-09-18T19:40:05.713 に答える