SELECT count(id)
FROM TBL_POS_SHOP s,
TBL_POS_POS p,
TBL_POS_CUSTOMER c,
TBL_POS_ORDER o,
TBL_POS_CARDINFO cd
WHERE o.POS_CATI = p.POS_CATI
and o.CUSTOMER_ID = c.ID
and o.SHOP_ID = s.ID
and o.CARDINFO_ID = cd.ID
首先,我觉得你找出各个表的关系,主从关系,主表放左边,依赖的表放右边,都用左连接,而不用现在这种内连接,
其次你的指定的count(id)请带上表的别名,你取得是哪个表的ID,否则系统区分不了,就会产生长时间等待。
这样的需求并不需要关联查询,直接统计主表记录数即可:SELECT count(*) from TBL_POS_ORDER。