问题标签 [union]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 在 T-SQL 中是否有一个等效于 FULL OUTER JOIN 的 UNION 将联合不同的列集?
我正在尝试完成以下任务:
结果:
返回列和行的并集。您可以将其视为 FULL OUTER JOIN 的 UNION 等价物。
这个问题的简单答案是:
然而,动态 T-SQL 和 dbo.sp_executesql 很难做到这一点,如果涉及大量 UNION,则生成的查询可能会太长。
我能想到的最佳解决方案是创建一个包含所有可能列的临时表,然后将每个选择依次插入到临时表中,如下所示:
但这需要提前知道列名是什么。我的特定场景和这个问题假设如果列名匹配类型也匹配。事实上,我试图操作的列都是相同的类型。
有没有更简单的方法来做到这一点?
谢谢!
union - SQL 大小比较
我有一个检查大小的数据库,因为客户端可能只使用一定数量的空间,而且他们可能只有一定数量的“页面”,我也将它们放入数据库中。
我有以下 sql 查询:
这将返回一个包含我需要的信息的表格。但是,我想添加 3 个列来显示每个用户的使用量。首先我尝试这样:
这应该需要添加两个我需要的列。如果我省略了 union 和 down 的所有内容,它会很好地工作并将有关最大 webhotel 大小的信息添加到表中,但是当我尝试添加另一个列时,我收到一条错误消息,提示“使用的 SELECT 语句具有不同的列数”。我尝试了其他一些方法,但似乎无法找到一个获得正确结果的好方法。我对 SQL 很陌生,如果这是一个愚蠢的问题,我很抱歉。
sql - 在 2 个联合 sql 服务器表中获取不同的值
我正在尝试使用联合来获取 2 个表中的所有不同值。
这个想法是对 columnA 列中所有唯一值的计数而不重复,以便我可以获得包含唯一 columnA 的所有列的总和。
这就是我尝试过的(sql server express 2008)
sql - 通过加入避免联合?
我的问题出在 Oracle 上,但可能与数据库无关(?)。
我有以下表格:
啊
bb
**代表*
p 列表示在哪个表中获取该行。实际上,aa 和 bb 的区别要大得多,并且 p 与表名不匹配,但提供了一种到达那里的方法。这个例子只是我遇到问题的一个简单的例子。请注意,实际上,有超过 2 个表 aa 和 bb(有 6 个)。我想要一个返回这个的查询:
以下作品:(一)
(二)
但我想在视图中使用查询,在该视图上可以进行谓词推送。
所以问题1是:以下是否允许谓词推送。问题 2:(即使问题 1 的答案是肯定的)有没有办法在没有联合但有连接的情况下做到这一点。问题 3:或者只是一个更好的方法?
创建数据的脚本:
sql-server-2005 - 带有 image/varbinary 字段的联合查询的问题
我在使用以下查询时遇到了一些问题:
当我在没有联合的情况下单独运行每个查询时,它们会快速执行(<5 秒),但是当我使用联合运行它时,它需要永远执行(事实上它所说的只是执行。我还没有看到它成功运行)
在 OtherDB.dbo.Signatures 中,签名字段是 varbinary(max) 而在 AppDB.dbo.Signatures 中,该字段是图像,这就是我使用转换表达式的原因。有谁知道问题可能是什么以及我该如何解决?
谢谢
c# - 在 C# 中编写自定义联合(连接多个对象)
设想
我需要从给定规范的对象列表中构建数据表。例如,我有一个 Order 对象的列表/数组,以及一个详细说明数据表应包含的内容的字符串规范,例如“ID;Date;Customer.ID;Customer.Name;Orderlines.Product.ID;Orderlines.Quantity;Orderlines。单价”。
order 类包含 Orderlines 的列表(详细信息),Orderline 类包含对 Product 的引用等。无论如何都是一个非常面向对象的设计。
我需要创建一个通用过程,它采用对象列表和字符串规范,然后找到所有连接。例如 AddToDataTableWithJoins(DataTable table, object[] objects, string specification)。
如果数组中存在两个订单,每个订单都有三个订单行,则结果将是一个有 6 行的数据表。
例如
但是话又说回来,Order 类可能有多个列表(详细信息),我必须承认,即使我熟悉反射和简单递归,我对此一无所知。
非常感谢任何有关如何创建此算法的建议。
想法
必须实施一个限制,以便规范的每一级中不存在多个列表,并且不同分支中不存在列表。例如,如果 Customer 类定义了一个 Order 对象列表,则不能允许以下规范:"ID;Date;Customer.ID;Customer.Orders.ID;Orderlines.Product.ID"
。
那么我相信,必须使用以下方法:
- 确定包含一个或多个一对多关系的分支。
- 遍历集合中的每个根对象(Order 对象)。
- 对于根对象中的每个属性,将不涉及一对多关系的每个属性的值存储在一个数组中。
- 使用递归并遍历复制数组的子集合中的每个对象。
- 当到达最外面的“节点”时,在 DataTable 中添加一个新行。
这些点可能会被修改,因为它们只是在这一点上的想法,但我想我已经接近了一些东西。
谢谢,斯特凡
sql - TSQL:两个选择的联合结果(过程?)
我有两个程序 - 两个巨大的选择集,带有几个子选择和联合。我需要合并这些程序的结果,我仍然需要它们单独存在。
像这样的东西:
我读到不可能对过程进行联合,而且我不能使用临时表。
任何想法?
mysql - 使用 codeigniter 的活动记录模式的 UNION 查询
如何使用 PHP CodeIgniter 框架的活动记录查询格式进行 UNION 查询?
sql - 多个表之间的 SQL 映射
这是一个 SQL 设计问题。首先,设置。我有三张桌子:
- A,根据对链接服务器的查询自动填充。此表中的数据不能更改;
- B,只有十几行,包含 As 集合的名称;
- AtoB,这是将 As 组织成命名集合的映射表,两列都有外键;
例如,A 包含:
- 长颈鹿
- 猫头鹰
- 老虎
B 包含:
- 西雅图动物园
- 圣何塞动物园
AtoB 包含:
1,1(西雅图的长颈鹿)
2,1(西雅图的猫头鹰)
3,1(西雅图的老虎)
2,2(圣何塞的猫头鹰)
现在,问题:
我被要求在其中一些集合中包含 A 中没有的项目。因此,我创建了一个表 C,它具有与 A 相同的标识和名称列,并填充它。与前面的示例保持一致,假设 C 包含:
- 龙
问题是,如何在 AtoB 中包含来自 C 的项目?如果我需要在西雅图动物园里放一条龙怎么办?
天真的我的第一直觉是创建一个包含 A 和 C 联合的视图 V,并将 AtoB 修改为 VtoB。这就是我的天真得到回报的地方:无法为视图创建外键。
我怀疑有一种标准的、正确的方法可以将一个或多个 A 或 C 与 B 联系起来。
mysql - 如何返回数据库中所有表的列表,其列主机名包含 hostname=hostA
我可以使用以下方法获取包含“主机名”列的所有表:
如果我知道所有表的名称,我可以使用如下联合:
但是我不知道如何在不使用外部脚本或存储过程的情况下将上述两个概念结合起来。