当前位置: 首页 > 面试题库 >

在UNION的SQL结果中添加表名称的“收成”?

吕骞尧
2023-03-14
问题内容

如果我有一个简单的工会

select name, phone from users union select name, phone from vendors;

有没有一种方法可以将表名添加到结果中?

所以代替

+--------+-------+
| name   | phone |
+--------+-------+
| Jim    | 123...|
| Macy's | 345...|
+--------+-------+

我会

+--------+-------+---------+
| name   | phone | table   |
+--------+-------+---------+
| Jim    | 123...| users   |
| Macy's | 345...| vendors |
+--------+-------+---------+

问题答案:
select name, phone, 'users' as table_name from users
union
select name, phone, 'vendors' as table_name from vendors;

更好的解决方案是使用union all,因此服务器将不会检查不同的值

select name, phone, 'users' as table_name from users
union all
select name, phone, 'vendors' as table_name from vendors;


 类似资料:
  • 问题内容: 我有几个要查询的带有复合主键的sql视图,由于Hibernate使得使用复合键很麻烦,因此我正在使用。问题在于此方法只能返回一个List,而我需要通过其索引来引用列。 我有什么机会可以做类似jdbc的事情,并通过其sql名称而不是其索引来引用这些列? 问题答案: 从代码中可以看出,列表包含代表每一行的Map对象。每个Map对象将具有列名作为键,并将值作为值。 注意:这适用于SQLQue

  • 我想在Python 3.6中的中将列名添加到Groupby的结果中。 我尝试了以下代码: 结果 它看起来像是一个列标题,但是尝试按名称对列进行寻址会产生异常。 我在寻找这个结果。

  • 问题内容: 我正在尝试执行这样的mysql查询 它显示这样的错误 我该如何实现? 问题答案: 在查询中动态表名的使用最好与 Prepared Staments一起使用 ,在mysql中也可以使用串联功能 您也可以针对删除查询执行此操作

  • 问题内容: 大家好,我有一个要使用的可怕数据库,而linqtosql是我从中检索数据的选项。任何试图通过基于用户选择抛出不同的表名来重用函数的人,据我所知,没有办法修改DataContext查询中的TEntity或。 这是我当前的代码。 我想用Enumerable记录填充ViewData。 问题答案: 您可以在DataContext实例上调用ExecuteQuery方法。您将要调用采用Type实例

  • 问题内容: 我正在用SSRS编写一份报告。该数据集填充有MS SQL Server的SQL查询。它使用Union All查询几个相似的表。问题是有一些信息丢失。不同的表适用于不同的工作站点,但是这些表中的任何列都没有站点名称。标识站点的唯一方法是通过表名。在“全部合并”的结果的合并列中,无法分辨出哪些行来自哪个站点。 有没有一种方法可以更改我的查询以在结果中添加一列,该列将具有与每一行相关联的工作

  • 问题内容: 给出下表说明: 我有以下3种情况: 情况1完美执行。 情况2无法执行。 情况3也能完美执行。 我的理解是,我们需要确保如果没有对应的联合列,那么我们需要创建一个等效的数据类型哑元。因此,在其他表的相应列列表中具有类似内容的类型。 在情况3中,我们将所有值都指定为null,因此我对此情况有所了解。但是在情况1中,和之间没有数据类型的兼容性,但是它会执行。另一方面,情况2失败。请说清楚。