簡體   English   中英

Mysql在哪里查詢…選擇* where field1 + field2 + field3 <=字段4

[英]Mysql where query… select * where field1 +field2 + field3 <= field 4

基本上我想將存儲在field1field2field3的數字加起來,並且只顯示該總數小於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

假設您分別在amountpaidamountpaid2amountpaid3 ,這將為您提供所有在接下來的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

http://sqlfiddle.com/#!2/35f6b/3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM