gpt4 book ai didi

mysql - 简单的加减法语法错误

转载 作者:行者123 更新时间:2023-11-29 01:38:00 25 4
gpt4 key购买 nike

表 1: 编号 |汽车1 |车2 |车3 |车4

**Table2:**
id | windows | doors | engines

我有这个sql代码:

sum(car1) + sum(car2) + sum(car3) + sum(car4) as 'tot_cars',
sum('doors') as 'tot_doors'
'tot_doors' - 'tot_cars' as 'door_rest'

我也试过了,但没有用:

sum(car1) + sum(car2) + sum(car3) + sum(car4) as 'tot_cars',
sum('doors') as 'tot_doors'
('tot_doors' - 'tot_cars' as 'door_rest')

这个:

sum(car1) + sum(car2) + sum(car3) + sum(car4) as 'tot_cars',
sum('doors') as 'tot_doors'
('tot_doors - tot_cars as door_rest')

还有这个:

sum(car1) + sum(car2) + sum(car3) + sum(car4) as 'tot_cars',
sum('doors') as 'tot_doors'
('tot_doors - tot_cars') as 'door_rest'

全部无效。

我仍然在 SQLSyntax 中遇到错误,它说在数据库中找不到“door_rest”字段。

连接两个表没有问题,因为当我查询“tot_cars”时,它在我的页面上显示了数据。但是我在“door_rest”字段上遇到了问题。

谢谢你的帮助。

最佳答案

不要对列别名使用单引号。值(value):

sum('doors')

为 0,因为它对字符串 'doors' 求和。并且,MySQL 根据前导数字将字符串转换为整数——在这种情况下结果为 0。仅对需要转义的名称进行转义,以避免额外输入并使您的查询更加清晰。使用正确的转义字符(反引号)。然后选择不需要转义的名称。

你的问题是你不能在同一个选择中使用别名,所以:

sum(car1) + sum(car2) + sum(car3) + sum(car4) as tot_cars,
sum(doors) as tot_doors,
(sum(car1) + sum(car2) + sum(car3) + sum(car4) - sum(doors)) as door_rest

关于mysql - 简单的加减法语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383177/

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