python - 将一个不相关的行附加到 MySQL 查询
问题描述
我有一个庞大的 SQL 查询,它返回一个非常大的结果表。
如何使用简单的不同查询将一个条目附加到该结果,以跳过对数据库的额外访问?
例如对于列[a,b,c,d,e,f]
说我得到 3 行的结果,我希望只为 when 添加一行e = 0
,并带来它的f
值,在这个例子中它是9
,忽略其他列上的所有其他许多条件,并留下其余的行NULL
,结果应该是这样的:
|a|b|c|d|e|f|
|1|2|3|4|5|6|
|6|5|4|3|2|1|
|1|3|4|2|5|6|
|N|N|N|N|0|9|
解决方案
在使用数据的应用程序中这样做可能更有意义。
在 MySQL 中,您可以使用union all
将所需的记录添加到结果集中(您似乎知道这一点,因为您用 标记了您的问题union
)。
所以像:
select -- your massive query here
union all
select null, null, null, null, 0, null
union all
无论海量查询返回什么,都会生成记录。如果发生更改,即大规模查询也可能生成相同的记录,并且您希望避免重复,则可以使用union
(但这意味着您的 RDMBS 需要做更多的工作,这将需要在两个union
ed 结果集中搜索重复项)。
推荐阅读
- user-interface - 如何在 Python 3.6.8 中修复 'ImportError: cannot import name 'ttk''
- sql - 如何使用 DAO 传递 LONGTEXT 参数?
- python - 如何使用 update_or_create 创建函数?
- excel - 如何获取 FormatCondition 对象
- java - 如何从文件中读取 json 格式
- reactjs - 如何遍历对象数组并使用反应执行请求?
- solr - 未反映在默认 managed_schema 文件中所做的更改
- zabbix - 如何在 Zabbix 上监控 Nginx
- javascript - 无法正确读取 .txt 文件中的值
- java - layeredPane 中同一位置的 2 个 MouseListener