-1
select * 
from Table1 t1
inner join Table2 t2 on t1.id=t2.tid

102行を返します

select sum(t1.val), count(t1.val) 
from Table1 t1
inner join Table2 t2 on t1.id=t2.tid

29000 103 を返します

これは、2 番目のクエリが正しく機能しないことを意味します。何の問題?

4

2 に答える 2

0

103 個の値の 1 つに、val 列に null があるようです。

select sum(t1.val), count(*) 
from Table1 t1
inner join Table2 t2 on t1.id=t2.tid

これにより、count に対して 103 が返されます。少なくとも MS SQL Server では。しかし、これは SQL ANSI の一部だと思うので、すべての SQL ANSI 準拠のデータベース エンジンで動作するはずです。

于 2013-10-18T04:08:19.060 に答える