![](/img/trans.png)
[英]MYSQL select field1, field2 only where field1 or field2 does not equal text
[英]Mysql where query… select * where field1 +field2 + field3 <= field 4
基本上我想将存储在field1
, field2
和field3
的数字加起来,并且只显示该总数小于field4
...
例如: select * from table where field1 + field2 + field3 <= field 4
但这不起作用....任何帮助表示赞赏
这是我的实际SQL,您可以看到它更加复杂:
SELECT
*,
SUM ( amountpaid , amountpaid2 , amountpaid3 ) AS total AND
DATE_FORMAT(date_start, ' %d.%m.%Y') AS date_formatted
FROM
calendar_event
WHERE
Date_start BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 14 DAY) AND
total <= amount )
抢
也许您的意思是:
SELECT
*,
amountpaid + amountpaid2 + amountpaid3 AS total,
DATE_FORMAT(date_start, '%d.%m.%Y') AS date_formatted
FROM calendar_event
WHERE Date_start BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 14 DAY)
AND amountpaid + amountpaid2 + amountpaid3 <= amount
假设您分别在amountpaid
, amountpaid2
和amountpaid3
,这将为您提供所有在接下来的14天内开始且未超额支付的事件(即未付或完全付清)。
您的查询
select * from table where field1 + field2 + field3 <= field4
应该工作得很好。 确保您要寻址的所有列实际上都存在并且它们是数字(整数,浮点数,双精度数等)。 还请确保,如果您实际上这样称呼,那么field4在“ field”和“ 4”之间没有空格-您的问题之间有一个空格,例如“ field 4”而不是“ field4”。
或者,让我们知道您收到什么错误消息。
Select
*,
Coalesce(amountpaid, 0) + Coalesce(amountpaid2, 0) + Coalesce(amountpaid3, 0) As total,
DATE_FORMAT(date_start, ' %d.%m.%Y') As date_formatted
From
calendar_event
Where
Date_start Between Now() And Date_Add(Now(), Interval 14 DAY) And
Coalesce(amountpaid, 0) + Coalesce(amountpaid2, 0) + Coalesce(amountpaid3, 0) <= amount
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.