【问题标题】:Present one amount field into 2 fields and present as one row [closed]将一个金额字段呈现为 2 个字段并呈现为一行 [关闭]
【发布时间】:2022-01-12 04:02:14
【问题描述】:

我有一些记录如下:

必须通过以下方式在表中插入记录:

我应该遵循什么方法在 SQL Server 中获取此记录?

我创建了一个查询,它让我得到 Deliveramt 和 ReceiveAmt int 单独的结果集,例如:

然后在两者之间进行内部连接只会给我相乘的值,因为我需要将它们相加以稍后检索正确的结果。

【问题讨论】:

  • 根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
  • 根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
  • 请阅读this,了解一些改进问题的技巧。

标签: sql sql-server tsql sql-insert


【解决方案1】:

合并它们,然后聚合。

SELECT Bcode
, SUM(DeliverAmt) AS DeliverAmt
, SUM(ReceiveAmt) AS ReceiveAmt
FROM
(
    SELECT 
      DeliverBcode AS Bcode
    , Amount AS DeliverAmt
    , 0 AS ReceiveAmt
    FROM YourTable

    UNION ALL
    
    SELECT ReceiveBcode, 0, Amount
    FROM YourTable
) q
GROUP BY Bcode
ORDER BY Bcode

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 2019-12-07
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2015-02-02
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多