【发布时间】:2017-02-09 08:36:36
【问题描述】:
我在 db 表中有一个列名“AmountLC”。另一个列名称“DebitCredit”确定“AmountLC”是正数还是负数。如果 DebitCredit="H",AmountLC 中的值为负数。如果 DebitCredit="S",AmountLC 中的值为正。我需要进行查询以获得 AmountLC 的总和。我试图得到逻辑,但没有得到任何。如果有人可以帮助我,我将不胜感激。
我根据其他 stackoverflow 讨论尝试了以下代码。
$F7 = mysql_query("SELECT
SUM(CASE WHEN DebitCredit='H' THEN DebitCredit ELSE 0 END) as NegativeTotal,
SUM(CASE WHEN DebitCredit='S' THEN DebitCredit ELSE 0 END) as PostiveTotal
FROM T1_CSV_Table
WHERE Month='$getMonth' AND TaxCode='A0'");
谢谢! 更新代码
$F7 = mysql_query("SELECT
SUM(CASE WHEN DebitCredit='H' THEN AmountLC*-1 ELSE AmountLC END) as Total
FROM T1_CSV_Table
WHERE Month='$getMonth' AND TaxCode='A0'");
$rowf7 = mysql_fetch_array($F7);
echo "Total-".$rowf7['Total'];
更新结果代码:
SELECT AmountLC,DebitCredit FROM T1_CSV_Table WHERE TaxCode="A0" AND Month="12"
【问题讨论】:
-
每次在新代码中使用the
mysql_数据库扩展a Kitten is strangled somewhere in the world 时,它都会被弃用,并且已经存在多年,并且在 PHP7 中永远消失了。如果您只是学习 PHP,请花精力学习PDO或mysqli数据库扩展和预处理语句。 Start here -
不应该
THEN DebitCredit是THEN AmountLC? -
SUM(CASE WHEN DebitCredit='H' THEN AmountLC*-1 ELSE AmountLC END) as Total,怎么样 -
是的,我知道这不是逻辑。刚试了一段代码。没有单独的正负值。我需要决定取决于 DebitCredi 的值。
-
@RiggsFolly 我会试试的