我忙于将使用旧式语法的查询转换为新的连接语法。我查询的要点如下:SQL内部加入。 ON条件与WHERE子句
原始查询
SELECT i.*
FROM
InterestRunDailySum i,
InterestRunDetail ird,
InterestPayments p
WHERE
p.IntrPayCode = 187
AND i.IntRunCode = p.IntRunCode AND i.ClientCode = p.ClientCode
AND ird.IntRunCode = p.IntRunCode AND ird.ClientCode = p.ClientCode
新建查询
SELECT i.*
FROM InterestPayments p
INNER JOIN InterestRunDailySum i
ON (i.IntRunCode = p.IntRunCode AND i.ClientCode = p.ClientCode)
INNER JOIN InterestRunDetail ird
ON (ird.IntRunCode = p.IntRunCode AND ird.IntRunCode = p.IntRunCode)
WHERE
p.IntrPayCode = 187
在这个例子中,“原始查询”返回46行,其中“新建查询”返回了800
有人能解释一下我的不同吗?我会假设这些查询是相同的。
谢谢凯文,我觉得自己没有发现那个傻瓜! – Russell
它发生在我们所有人身上。 :-) –