今天在查询视图时,遇到了一个问题。
因为mysq不能嵌套select的子查询。所以我把子查询建成了视图b,主查询通过left join on关联视图b ,形成视图a。
由于视图b中也有left join , 通过left join 关联表c 。通过c确定视图b中的字段state。如果c中有数据,则state=1,否则为0.
然后,在视图a中,取state的值,计算结果。
但是在select嵌套查询的时候,结果完全正确。但是建立两个视图来查询的时候,结果却出错。
后来,通过left join 取差集,直接把视图b中state应该为1的数据给去掉,在关联视图a,结果正确。