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

将列添加到SQL查询结果

桂阳文
2023-03-14
问题内容

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

有没有一种方法可以更改我的查询以在结果中添加一列,该列将具有与每一行相关联的工作场所?我无法将其添加到原始表中,因为我具有只读权限。我曾想过类似的事情,但我不知道使用哪种表达方式,或者甚至可以做到:

SELECT t1.column, t1.column2
FROM t1
<some expression>
UNION ALL
SELECT t2.column, t2.column2
FROM t2
<some expression>
UNION ALL
...

html" target="_blank">表达式将“添加”一列,该列将添加与查询的每个部分关联的站点名称。这或其他方法能否获得站点名称?


问题答案:

生成查询时手动添加它:

SELECT 'Site1' AS SiteName, t1.column, t1.column2
FROM t1

UNION ALL
SELECT 'Site2' AS SiteName, t2.column, t2.column2
FROM t2

UNION ALL
...

例子:

DECLARE @t1 TABLE (column1 int, column2 nvarchar(1))
DECLARE @t2 TABLE (column1 int, column2 nvarchar(1))

INSERT INTO @t1
SELECT 1, 'a'
UNION SELECT 2, 'b'

INSERT INTO @t2
SELECT 3, 'c'
UNION SELECT 4, 'd'


SELECT 'Site1' AS SiteName, t1.column1, t1.column2
FROM @t1 t1

UNION ALL
SELECT 'Site2' AS SiteName, t2.column1, t2.column2
FROM @t2 t2

结果:

SiteName  column1  column2
Site1       1      a
Site1       2      b
Site2       3      c
Site2       4      d


 类似资料:
  • 问题内容: 我想添加表的两列值并按降序对其进行排序。例如: 考虑到上表,我想要一个SQL查询,它给我的结果如下: 是否有任何SQL查询来做到这一点? 问题答案: 没有用于这种水平聚合的内置函数,您可以执行以下操作:

  • 我的任务是用hibernate的数据值填充prime faces数据表。我们可以通过这个查询获取表中的所有记录 将从表雇员中获取所有记录,雇员字段有两个字段名称,以及将其转换为列表的Hibernate查询 列表=查询。list();我想将其转换为数组列表,其中包含两个字段name,age和hibernate中的所有对象 然后用 有人能举例说明吗

  • 问题内容: 在pgadmin3中,我想使用参数化查询(为了进行更快的调试,只需从我的php文件中复制并粘贴查询)。但是我还没有找到一个选项添加的价值观,…参数。是否有可能? 这是我正在循环中建立的查询,遵循从这里进行NULL测试的建议: 请注意,手动替换所有参数很繁琐,容易出错,并且可能(我希望)是不必要的。 提前致谢。 问题答案: 我只知道两种方式。 首先是要使用(PostgreSQL手册后的示

  • 我试图重构我的代码,在这样做的时候,我试图把SQL查询留给一个类。我试图将参数从html表单传递到servlet,然后servlet将这些参数传递到其方法params中的ApplicationDao,后者(应该)以用户对象arraylist的形式返回结果集。当我传递电子邮件时,它会说找不到列,尽管当我在servlet中执行完全相同的操作时,我正在重构结果。显然,由于这个问题,数组列表正在将长度0传

  • 问题内容: 我有桌子上的产品 产品 我需要按任何值更新“数量”,例如“ 5 + 3” 需要如下输出 我该如何写查询? 问题答案:

  • 我正在解决一个使用QueryDSL构造查询语句的java应用程序的性能问题。在与DBA合作后,有人建议我在查询中添加以下语句: 当前,我们正在执行查询,如下所示: 提前道谢。