sql-server - 联合查询删除空白行
问题描述
我正在尝试合并两个不同的结果,但我不确定如何删除空白值。paid_date 和 check_date 有时是不同的。我需要做什么来修改代码?我试过做MAX,但似乎没有用。谢谢。
结果:
我想要的是:
WITH PAID AS
(
SELECT PIDATE
,SUM(PAY) AS PAID
,ROW_NUMBER() OVER(ORDER BY PAYDATE DESC) AS ROW_NUM
FROM CLAIM
WHERE PAY<>0
GROUP BY PAYDATE
)
,TOTAL_PAID AS
(
SELECT CONVERT(DATE,CONVERT(VARCHAR(10),PAYDATE)) AS PAID_DATE
,FORMAT(PAID,'C','EN-US') AS PAID
FROM PAID
WHERE ROW_NUM <= 10
)
,CHECKS AS
(
SELECT DISTINCT CHECK_DATE
,SUM(PAYMENT) AS PAYMENT
,ROW_NUMBER() OVER(ORDER BY CHECK_DATE DESC) AS ROW_NUM
FROM CR
GROUP BY CHECK_DATE
)
,TOTAL_CHECKS AS
(
SELECT CONVERT(DATE,CONVERT(VARCHAR(10),CHECK_DATE)) AS CHECK_DATE
,FORMAT(PAYMENT,'C','EN-US') AS PAYMENT
FROM CHECKS
WHERE ROW_NUM <= 10
)
,FINAL AS
(
SELECT PAID_DATE
,PAID
,'' AS CHECK_DATE
,'' AS PAYMENT
FROM TOTAL_PAID
UNION ALL
SELECT '' AS PAID_DATE
,'' AS PAID
,CHECK_DATE
,PAYMENT
FROM TOTAL_CHECKS
)
SELECT *
FROM FINAL
解决方案
在这种情况下,您不得使用union
. 你必须join
改用。
尝试加入两个序列paid_date = check_date
并从每个集合中选择适当的字段。
推荐阅读
- python - 无法在 Docker 的容器上运行 Python3 http.server
- delphi - 在 TEdgeBrowser 中设置用户代理和代理
- javascript - 如何根据所选项目返回列表?
- python - 如何为 UTF-8 存储序列化 Python 请求的 cookie?
- sql-server - 用于恢复数据库的 SQL Server T-SQL 脚本问题
- c++ - 如何将 std::setw() 与数组输出一起使用?
- python - 将类变量与实例相乘的问题
- c# - 需要帮助了解 Azure Functions 中异步/等待调用中的后台任务
- typescript - 从常量对象文字中获取键
- wix - 卸载时未删除注册表项 (WIX)