簡體   English   中英

mysql中兩列的區別

[英]Difference between two columns in mysql

我有兩列(credit 和 debited_amount),我想計算它們之間的差異。只需要檢索大於零的記錄或者 debited_amount 字段是否為 Null。 不要介意值是否為零。這是我嘗試過的 sqlquery。請幫忙

SELECT `p_Id`,`user_id`,`doc_id`,`credit` ,`app_date`,`expires_on`,(credit -debited_amount) AS credit
FROM `wp_loyalty_credits` WHERE `expires_on`>now();

您只需要將邏輯添加到where子句中:

SELECT `p_Id`,`user_id`,`doc_id`,`credit` ,`app_date`,`expires_on`,
       (credit -debited_amount) AS credit
FROM `wp_loyalty_credits`
WHERE `expires_on`>now() and (credit > debited_amount or debited_amount is null);

您的查詢在select重新定義了credit 但是,這無關緊要,因為您不能在where子句中引用列別名。 所以,列credit就是它使用的。 如果添加表別名就更清楚了:

SELECT lc.p_Id, lc.user_id, lc.doc_id, lc.credit, lc.app_date, lc.expires_on,
       (lc.credit - lc.debited_amount) AS credit
FROM `wp_loyalty_credits` lc
WHERE lc.expires_on > now() and
      (lc.credit > lc.debited_amount or lc.debited_amount is null);

暫無
暫無

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

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