合并来自同一SQL数据库中不同表的数据以及表名

时间:2019-10-28 09:29:27

标签: sql sql-server-2014 sql-query-store

我试图从同一个SQL数据库中的多个表中获取数据,以及从中获取这些表的表名。

    Select [timestamp]
      ,[User ID]
      ,[HCA Location Code]
      ,[HCA Lead]
      ,[PC Location Code]
      ,[Approval Administrator]
      ,[Time Sheet Admin_]
    FROM
    (SELECT * FROM [LIVE].[dbo].[LIVE Database1$User Setup]
    Union ALL
    SELECT * FROM [LIVE].[dbo].[LIVE_Database2$User Setup]
    Union ALL
    SELECT * FROM [LIVE].[dbo].[LIVE_Database3$User Setup]) data
    GROUP BY
      [timestamp]
      ,[User ID]
      ,[HCA Location Code]
      ,[HCA Lead]
      ,[PC Location Code]
      ,[Approval Administrator]
      ,[Time Sheet Admin_]
    HAVING count(*)!=2
   For value like below

enter image description here

1 个答案:

答案 0 :(得分:0)

Select [User ID]
        ,[HCA Location Code]
        ,[HCA Lead]
        ,[PC Location Code]
    ,[Approval Administrator]
    ,[Time Sheet Admin_]
    , Table_Name
FROM
(
    Select [User ID]
            ,[HCA Location Code]
            ,[HCA Lead]
            ,[PC Location Code]
            ,[Approval Administrator]
            ,[Time Sheet Admin_]
            ,'Table1' AS Table_Name
    FROM [DB].[dbo].[UAT Table1$User Setup] as Tablename1
    Union ALL
    Select [User ID]
            ,[HCA Location Code]
            ,[HCA Lead]
            ,[PC Location Code]
            ,[Approval Administrator]
            ,[Time Sheet Admin_]
            ,'Table2' AS Table_Name
    FROM [DB].[dbo].[UAT Table2$User Setup]as Tablename1
    Union ALL
    Select [User ID]
            ,[HCA Location Code]
            ,[HCA Lead]
            ,[PC Location Code]
            ,[Approval Administrator]
            ,[Time Sheet Admin_]
            ,'Table3' AS Table_Name
    FROM [DB].[dbo].[Table3$User Setup]as Tablename1) data

GROUP BY
      [User ID]
      ,[HCA Location Code]
      ,[HCA Lead]
      ,[PC Location Code]
      ,[Approval Administrator]
      ,[Time Sheet Admin_]
      ,Table_Name
HAVING count(*)!=2