【问题标题】:How to label result tables in multiple SELECT output如何在多个 SELECT 输出中标记结果表
【发布时间】:2016-05-17 06:34:06
【问题描述】:

我编写了一个简单的虚拟程序来检查保存在数据库中的数据。当我运行我的程序时,它会输出如下数据。

我想给表格加标签。然后,即使是 QA 人员也可以识别作为结果给出的数据。我该怎么做?

**更新:** 此过程通过 Management Studios 手动运行。与我的申请无关。因为我只想检查数据是否已正确插入/更新。

为了更清楚,我想将表格上方的表格名称显示为标签

【问题讨论】:

  • 使用调用它的编程语言,知道顺序。所以,这是一个前端问题。
  • 此过程在 SQL Server Management Studios 中手动运行。所以,没有编程语言会影响这个过程:(
  • 敢问你有没有前端应用? :p
  • 我依稀记得几年前寻找一种方法来做到这一点,但一无所获。您可以在每个结果集之前添加另一个 select 语句,它只会选择下一个结果集的名称 (SELECT 'Employee'),当然这意味着您的输出将包含两倍的结果集。如果您确实找到了实际标记结果集的方法,请将其作为您自己帖子的答案分享。
  • 或在每个列中插入一个字符串

标签: sql-server stored-procedures ssms alias


【解决方案1】:

在表格中添加另一列,并为其命名,以便通过阅读者来区分:)

 Select 'Employee' as TABLE_NAME, * from Employee

输出将如下所示:

| TABLE_NAME | ID | Number | ...
------------------------------
| Employee   | 1  | 123    | ...

或者您可以将列称为“员工”

SELECT 'Employee' AS 'Employee', * FROM employee

输出将如下所示:

| Employee | ID | Number | ...
------------------------------
| Employee | 1  | 123    | ...

【讨论】:

  • 这实际上是在每条记录的结果集中添加一个Extra Column。但这仍然很有帮助。
【解决方案2】:

添加一个额外的列,其 name(不是 value!)是标签。

SELECT 'Employee' AS "Employee", e.* FROM employee e

输出将如下所示:

| Employee | ID | Number | ...
------------------------------
| Employee | 1  | 123    | ...

这样做,您将看到标签,即使结果不包含行

【讨论】:

    【解决方案3】:

    我喜欢在带有真实数据的结果集之间粘贴一个看起来像标签或标题的整个另一个结果集。

    SELECT 0 AS [Our Employees:]
    WHERE 1 = 0
    
    -- Your first "Employees" query goes here
    
    SELECT 0 AS [Our Departments:]
    WHERE 1 = 0
    
    -- Now your second real "Departments" query goes here
    
    -- ...and so on...
    

    最终看起来像这样:

    它的格式有点松散,有比我喜欢的更多的空格,但这是迄今为止我想出的最好的。

    【讨论】:

      【解决方案4】:

      遗憾的是,无法在 SQL Server 或 SSMS 中标记任何 SELECT 查询输出。几年前,在我的经验中曾经需要非常相似的东西。我们决定使用解决方法:

      添加另一个包含表别名列表的表。

      这是我们所做的: 我们在数据集的开头附加了表列表和另一个表。所以第一个表如下所示:

      姓名
      员工
      部门
      课程

      考勤

      在c#中读取表时,可以先遍历第一个表,然后将TableName进一步分配给DataSet中的所有表。

      【讨论】:

        【解决方案5】:

        最好使用 Reporting Services 并创建一个简单的报告。如果愿意,您可以每天通过电子邮件发送此报告。

        【讨论】:

          猜你喜欢
          • 2021-08-26
          • 2021-12-03
          • 1970-01-01
          • 2017-03-01
          • 1970-01-01
          • 2016-05-29
          • 1970-01-01
          • 2018-04-23
          • 2015-10-14
          相关资源
          最近更新 更多