sql - 使用 case 表达式求和
问题描述
我正在寻找汇总我的数字。
SELECT
SORDERQ.SOHNUM_0,
YQTYORD_0,
ORDINVNOT_0
FROM LIVE.SORDER
LEFT JOIN LIVE. SORDERQ ON SORDER.SOHNUM_0 = SORDERQ.SOHNUM_0
WHERE SORDER.SOHNUM_0 = 'SC111-162420_19'
AND ZBPSELECTION_0 <> ''
AND YCROPYR_0 = '2019'
AND SORDER.SALFCY_0 = '111'
我想为每个 SOHNUM_0 返回 1 条记录,即 YQTYORD_0 与 SOHNUM_0 和 ORDINVNOT_0 之和。
解决方案
我想为每个 SOHNUM_0 返回 1 条记录,即 YQTYORD_0 与 SOHNUM_0 和 ORDINVNOT_0 之和。
您只是在寻找简单的聚合吗?
SELECT
q.SOHNUM_0,
SUM(YQTYORD_0) SUM_YQTYORD_0,
ORDINVNOT_0
FROM LIVE.SORDER o
LEFT JOIN LIVE.SORDERQ q ON o.SOHNUM_0 = q.SOHNUM_0
WHERE
o.SOHNUM_0 = 'SC111-162420_19'
AND o.SALFCY_0 = '111'
AND ZBPSELECTION_0 <> ''
AND YCROPYR_0 = '2019'
GROUP BY
q.SOHNUM_0,
ORDINVNOT_0
笔记:
我修改了您的查询,因此它使用表别名 - 这使它更短
您应该在查询中的所有列前面加上它们所属的表,以使您的查询明确且更易于理解
推荐阅读
- android-studio - Firebase 在 MainActivity 中上传带有片段的文件
- reactjs - 在 React Native 中搜索联系人时,有没有办法避免或改进联系人列表的重新渲染
- mongodb - 猫鼬不能存储双重类型?
- maven - IntelliJ IDEA 在哪里存储“使用项目设置”设置
- go - 从 net/http 包中的 *urlError 访问 Timeout() 方法
- python - 熊猫时间戳年月不能直接访问
- r - 在R中粘贴0常规和斜体文本
- python - 如何使用 python 从网上下载文件?(没有网址)
- python - 使用 Dask 多进程的 HDF5ExtError
- python - QML findChild 来自不同的组件