我希望有人能帮我解决MySQL问题。当在contribution表上进行一个左外连接时,结果为$100(正确)。如果我加入另一张表(ikes)的第二个左外连接,并且我有2个ikes,则金额翻倍($200),如果我有3个ikes,则金额变为三倍($300)。我真的无法理解这个问题。ikes与捐赠金额有什么关系?我已经将查询分开,它们可以单独运行。但是一起使用会导致问题。
有人能看出问题吗?我在下面包括了查询和表格。
SELECT COUNT(i.type) AS xlike,
SUM(c.amount) AS amount,
w.*
FROM wish w
LEFT OUTER JOIN contributions c ON w.ID=c.receiveid
LEFT OUTER JOIN ikes i ON w.ID=i.wishid
WHERE w.ID = 236
表格:
CREATE TABLE IF NOT EXISTS `contributions` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`amount` decimal(19,2) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
CREATE TABLE IF NOT EXISTS `ikes` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`type` enum('likes','dislikes') NOT NULL,
`wishid` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;