我試圖獲得一些統計信息;來自3個不同表格的總鏈接,用戶和視圖。 什麼我嘗試:MYSQL在不同的表上,在同一查詢中求和
SELECT SUM(p.views), COUNT(c.id), COUNT(u.id)
FROM studenkel_userprefs as p, studenkel_content as c, studenkel_users as u
如果我在三個不同的查詢分別做他們,他們的工作很好,但togheter結果得到一對夫婦比我想的要高千倍。我猜他們以某種方式相互交融,提示?
謝謝
編輯:謝謝你們,非常感謝你的幫助,整理出來。
當你列出這樣'表FROM studenkel_userprefs爲p,studenkel_content爲c,studenkel_users爲u'它將爲您提供三個表中所有行的笛卡爾積,它也被稱爲'CROSS JOIN',您應該使用'INNER JOIN',但您需要指定三個表之間的相互關係,請更新您的問題並顯示他們是如何相關的。 –
該查詢將導致笛卡爾連接,您需要將表連接在一起。 – Andrew
使用適當的'JOIN'語法,並告訴DB ** HOW **這些表格彼此相關,例如,在這種情況下,你需要一個where子句:'... WHERE studenkel_userprefs.foo = studenkel_content.bar AND etc ...'。 –