mysql - SQL UNION 查询返回具有列名的第一行
问题描述
我处于使用 UNION 组合查询的情况。但问题是第一行与列名重复,如下所示:
我做错了什么?如果我没有在第一部分中静态地标出行名,那么我会收到不同数量的列错误。这是我的查询:
SELECT "id"
, "place_id"
, [...]
, (SELECT Count(pl.payment_method = 'PREPAID_CREDIT' )) AS prepaid_transactions
, [...]
UNION
SELECT ps.id AS id
, p.id AS place_id
, [...]
任何帮助表示赞赏。
解决方案
如果您的第一个查询没有您声明为字符串的列的值,则可以改用NULL
那里。例如;
SELECT NULL AS id
, NULL AS place_id
, [...]
, (SELECT Count(pl.payment_method = 'PREPAID_CREDIT' )) AS prepaid_transactions
, [...]
UNION
SELECT ps.id AS id
, p.id AS place_id
, [...]
等等。您真正需要担心的是两边的UNION
列数相同(并且每列中的数据都匹配)。
推荐阅读
- .net-core - 如何通过 MSBuild 包目标将 ref 程序集添加到 NuGet 包?
- html - 输入 css 样式
- vue.js - 具有获取数据的 Vue 路由器
- javascript - 搜索二叉树javascript的最大深度时,递归函数如何保持计数
- python - django rest框架不输出自定义响应
- java - 我需要在那里显式使用 flush() 方法吗?
- svelte - 获取一个苗条的嵌套自定义商店的价值,在另一个自定义商店中
- python - error 错误响应类型 | 不和谐蟒蛇机器人
- object - 检查对象是否已经存在?
- javascript - 将 javascript/npm 库与依赖项捆绑在一起