mysql - SQL:有没有办法从多个查询中返回一行?
问题描述
我想知道这是否可能以及如何从攻击不同表的多个查询中返回一行。我的意思是,每个查询都返回不同的字段,并且没有一个是与任何其他查询结果链接的关键。
想象一下,你有三个表,A、B、C,它们都有不同的字段,而且它们都只有一行。
A(attrib1, attrib2) B(attrib3, attrib4, attrib5) C(attrib6)
我想只返回一行包含每个表的所有数据。
结果将是(attrib1,attrib2,attrib3,attrib4,attrib5,attrib6)。顺序无关紧要。
我想知道是否有任何方法可以仅使用 SQL 而不是编程来做到这一点。
我正在使用 MySQL。如果在 MySQL 中无法做到这一点,是否可以在另一个数据库中做到这一点?
解决方案
您正在描述一个cross join
:
select a.*, b.*, c.*
from a cross join b cross join c;
这是标准 SQL,所有支持 SQL 的数据库都支持。
推荐阅读
- d3.js - d3 等值线图只显示一种颜色
- mysql - 连接失败后恢复mysqldump
- android - 是否可以在 Android 上设置启动画面的夜间预选赛?
- node.js - Foursquare API - 无法让用户(我自己的)签入历史记录
- c++ - Clang 说 is_same_v 的用法
不是 constexpr,不知道怎么不是 - google-apps-script - 使用 Appscript 将 Markdown 文本文件转换为 Google 文档?
- arrays - 如何从多个文件中读取同一列并将其收集到一个数组中
- javascript - 如何将数字列表转换为json
- teamcity - 是否可以在没有“主”分支的情况下从 Git 创建项目?
- java - 控制台上的 Java 模拟扫描仪输入因多个输入而失败