gpt4 book ai didi

mysql - 将两列相乘,不同的表...一列为空

转载 作者:行者123 更新时间:2023-11-29 06:03:54 26 4
gpt4 key购买 nike

在此连接查询中,我将不同表中的两列相乘,premiumpoints。我想要发生的是,如果 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.pointspremiumtable.bid 充当乘数,如果它不存在,我希望 total 等于 pointstable.points

最佳答案

使用case语句:

SELECT parent.*,
case when premiumtable.bid is null
then pointstable.points
else premiumtable.bid * pointstable.points
end 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

关于mysql - 将两列相乘,不同的表...一列为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com