在这个连接查询,我乘两个不同表中的列,premium
& points
。我希望发生的是,如果没有在premium
表联接的列那么乘数为1。乘以两列不同的表......一个空
这里是查询
SELECT parent.*,(premiumtable.bid * pointstable.points) as total FROM strings parent
LEFT JOIN premium premiumtable on parent.sid=premiumtable.sid AND premiumtable.paid='1'
LEFT JOIN points pointstable on parent.sid=pointstable.`string-id`
WHERE parent.category=:category AND (parent.submittype='0' OR parent.submittype='3') GROUP BY parent.id ORDER BY total LIMIT 5
因此,如果没有什么是对premiumtable
,而不是premiumtable.bid * pointstable.points
加入了它将是1 * pointstable.points
。该premiumtable.bid
充当乘数,如果它不存在,我愿意total
等于pointstable.points
合并似乎就像它会更干净...... –
每个使用任何编程语言编程的人都可以理解'CASE'的语法。每个遇到'COALESCE'的人都被迫查找含义和语法。 “ISNULL”怎么样,这也可以理解? –