我遇到了這個查詢的問題。它返回正確的total_names,total_events和total_misc,但其他三個總計(待定名稱,事件和misc)是相同的數字,並且完全是錯誤的數字。所有三個表都有created_by列。我究竟做錯了什麼?多個表,同一列,使用哪裏
SELECT
COUNT(DISTINCT names_revisions.id) AS total_names,
COUNT(DISTINCT events_revisions.id) AS total_events,
COUNT(DISTINCT misc_revisions.id) AS total_misc,
SUM(if(names_revisions.status = "Pending", 1, 0)) AS total_pending_names,
SUM(if(events_revisions.status = "Pending", 1, 0)) AS total_pending_events,
SUM(if(misc_revisions.status = "Pending", 1, 0)) AS total_pending_misc
FROM
names_revisions,
events_revisions,
misc_revisions
WHERE
:user_id IN (names_revisions.created_by, events_revisions.created_by, misc_revisions.created_by)
我更喜歡這種方法,因爲它看起來更乾淨。 – zen 2012-07-22 00:04:25