我用几种不同的方式编写了我的SQLite查询:1使用Group By和Count(),另一种使用嵌套select执行count()。
这是当前版本:
Select t.A,
t.B,
(Select Count(*) As CurrentCount From tableB b Where b.B = t.B) As CurrentCount
From tableA t
为什么这在SQLite中不起作用,但它在SQL Server / T-SQL中工作正常(两个版本实际上,另一个使用分组)?是因为sub / nested select中的连接?
编辑:让我澄清一下,我每次都会得0分......
Edit2:我尝试取出嵌套选择中的where子句,即使我知道表中有记录(确切地说是133),它仍会返回0
编辑(最终解决方案):这不是代码问题,而是数据问题。任何人都不会抓到任何东西。我的刷新"从SQL Server读取记录的脚本正在读取全部133,但实际插入到我的SQLite数据库中时缺少逗号,因此表WAS为空,因此为0记录。很抱歉浪费了所有人的时间。
答案 0 :(得分:1)
像
这样的东西Select t.A
,t.B
,b.CurrentCount
From tableA t
INNER JOIN (Select B, Count(*) [CurrentCount] From tableB b GROUP BY B) as B
ON b.B = t.B