【问题标题】:Add negative to credited invoices only仅向贷记发票添加负数
【发布时间】:2023-01-18 23:48:46
【问题描述】:

我对 SQL 很陌生。我创建了一个查询来提取我们创建的采购发票总数,并且我有 Union All 到我们创建的采购信用总额。我遇到的问题是学分没有在金额前显示负号。当我合计结果时,购买发票会增加而不是减少信用额度。

有没有办法让学分显示为负数,发票显示为正数?请在下面查看我的查询。

SELECT 
  T_PURCHASEINVOICE.C_ID, 
  T_PURCHASEINVOICE.C_DATE, 
  T_PURCHASEINVOICE.C_NUMBER, 
  T_PURCHASEINVOICE.C_NETAMOUNT, 
  T_PURCHASEINVOICE.C_GROSSAMOUNT, 
  T_PURCHASEINVOICE.C_TAXAMOUNT, 
  T_TAXRATE.C_CODE 
FROM 
  T_PURCHASEINVOICE (NOLOCK) 
  JOIN T_PURCHASEINVOICE_TAXLINE (NOLOCK) ON T_PURCHASEINVOICE.C_ID = T_PURCHASEINVOICE_TAXLINE.C__OWNER_ 
  JOIN T_TAXRATE (NOLOCK) ON T_PURCHASEINVOICE_TAXLINE.C_TAXRATE = T_TAXRATE.C_ID 
WHERE 
  T_TAXRATE.C_CODE = '01' 
  AND T_PURCHASEINVOICE.C_TAXAMOUNT <> 0 
UNION ALL 
SELECT 
  T_PURCHASECREDITNOTE.C_ID, 
  T_PURCHASECREDITNOTE.C_DATE, 
  T_PURCHASECREDITNOTE.C_NUMBER, 
  T_PURCHASECREDITNOTE.C_NETAMOUNT, 
  T_PURCHASECREDITNOTE.C_GROSSAMOUNT, 
  T_PURCHASECREDITNOTE.C_TAXAMOUNT, 
  T_TAXRATE.C_CODE 
FROM 
  T_PURCHASECREDITNOTE (NOLOCK) 
  JOIN T_PURCHASECREDITNOTE_TAXLINE (NOLOCK) ON T_PURCHASECREDITNOTE.C_ID = T_PURCHASECREDITNOTE_TAXLINE.C__OWNER_ 
  JOIN T_TAXRATE (NOLOCK) ON T_PURCHASECREDITNOTE_TAXLINE.C_TAXRATE = T_TAXRATE.C_ID 
WHERE 
  T_TAXRATE.C_CODE = '01' 

这是结果

这是我想看到的结果

这可能吗?

【问题讨论】:

  • 也许值 * -1
  • 感谢您@Magnus 的回复,抱歉有点厚,但我应该把 *-1 放在哪里?
  • 您如何理解金额是负数还是正数?
  • 来自 C_Number 列,如果它的 PIN 是正的,如果它的 PCN 是负的

标签: sql


【解决方案1】:

您只需要在以下语句前面添加一个 case 语句

T_PURCHASEINVOICE.C_NETAMOUNT, 

case when T_PURCHASECREDITNOTE.C_NUMBER  = 'PIN' THEN 1 ELSE -1 END * T_PURCHASEINVOICE.C_NETAMOUNT

【讨论】:

  • 如果此答案对您有用,请考虑接受它作为答案,以便社区可以从中受益
  • 工作完美谢谢@Derviş Kayımbaşıoğlu 非常感谢!如果可能的话,你能给我打分吗?我希望我的代表高一点哈哈
猜你喜欢
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多