SELECT ftable.pid, ftable.sid, fcnt, mcnt, fcnt + mcnt AS tcnt
FROM (
SELECT main.pid, main.sid, COALESCE( main.cnt + vote_res.cnt, 0 ) AS fcnt
FROM (
SELECT pictures.id AS pid, style.id AS sid, 0 AS cnt
FROM pictures, style
LEFT JOIN (
SELECT pid, sid, count( * ) AS cnt
FROM vote, users
WHERE users.id = vote.uid
AND users.gender =0
GROUP BY pid, sid
AND main.sid = vote_res.sid
SELECT main.pid, main.sid, COALESCE( main.cnt + vote_res.cnt, 0 ) AS mcnt
FROM (
SELECT pictures.id AS pid, style.id AS sid, 0 AS cnt
FROM pictures, style
LEFT JOIN (
SELECT pid, sid, count( * ) AS cnt
FROM vote, users
WHERE users.id = vote.uid
AND users.gender =1
GROUP BY pid, sid
AND main.sid = vote_res.sid
WHERE ftable.pid = mtable.pid
AND ftable.sid = mtable.sid
先mark下,稍后做解释