一个sql语句执行结果诡异的问题

最近碰到一个sql语句在不同端执行结果不同的诡异问题,后台编写了一条多表联查的sql语句,执行结果为5条记录。然而放到手机端执行,发现结果只有一条记录。经过语句拆分,一部分一部分排除原因,发现原因在

select count (a.numebr)...... 
FROM TABLE_A a 
LEFT JOIN TABLE_B...
LEFT JOIN TABLE_C...
WHERE ...

select count (numebr)...... 
FROM TABLE_A a 
LEFT JOIN TABLE_B...
LEFT JOIN TABLE_C...
WHERE ...

的区别。

在SQLite2中两中写法是一样的,实际上统计到的是left join的那张表,但在SQLite3中两者是有区别的。

所以SQLite版本问题和写法上的区别导致了这个诡异的问题,故记之。

猜你喜欢

转载自blog.csdn.net/yaojie5519/article/details/81540043