繁体   English   中英

SQL具有一个唯一列的两个表

[英]SQL Two Tables with One Unique column

我有两个表tbl_backupchecks和tbl_backupchecks_sqlbak。

这两个表都有两个列名称,Company和ServerName。

我想返回一个包含Company和Servername但在合并列表中的结果集。 本质上,如果tbl_backupchecks_SQLBak中有一个服务器名和公司名,而tbl_backupchecks中没有,我也想对此进行报告。

用基本的术语来说,我想要的是两列的行结果集; 公司和服务器名称。 我尝试编写左连接,但它回购了两个名为ServerName的列。 能做到吗?

假设您的Company列和Servername是可以是DISTINCT的数据类型,则可以使用UNION查询:

SELECT Company, Servername FROM tbl_backupchecks
UNION
SELECT Company, Servername FROM tbl_backupchecks_sqlbak

我认为工会应该为您做到这一点

   SELECT Company, ServerName
   FROM tbl_backupchecks
   UNION
   SELECT Company, ServerName
   FROM tbl_backupchecks_sqlbak

使用UNION:

SELECT  Company, ServerName 
  FROM  tbl_backupchecks 
UNION
SELECT  Company, ServerName 
  FROM  tbl_backupchecks_sqlbak 

我想您想要一个UNION:

对于两个表之间的不同行,请使用以下命令:

SELECT Company,ServerName
FROM tbl_backupchecks
UNION
SELECT Company,ServerName
FROM tbl_backupchecks_sqlbak

对于两个表中的所有行(不会删除两个表中存在的重复行),请使用以下命令:

SELECT Company,ServerName
FROM tbl_backupchecks
UNION ALL
SELECT Company,ServerName
FROM tbl_backupchecks_sqlbak
SELECT Company, ServerName FROM tbl_backupchecks

UNION

SELECT Company, ServerName FROM tbl_backupchecks_sqlbak

(更改UNIONUNION ALL如果你想保留副本。)

如果您只希望两者都有唯一记录,请使用以下命令:

SELECT DISTINCT Company, ServerName
FROM
(
SELECT Company, ServerName FROM tbl_backupchecks
UNION
SELECT Company, ServerName FROM tbl_backupchecks_sqlbak
) A

我认为您希望将2个表合并。 就像是:

SELECT Company, ServerName FROM tbl_backupchecks
UNION 
SELECT Company, ServerName FROM tbl_backupchecks_SQLBak

我发现这可能对您有帮助。 我起初虽然是工会,但这看起来是一种更好的方法: t-sql比较两个表的记录,该表不存在于第二个表中

这是一个解决方案,还可以告诉您记录在哪里

select Company, ServerName, sum(case when is_bak=0 then 0 else 1) as in_bak, sum(case when is_bak=0 then 1 else 0) as in_not_bak from (
select Company, ServerName,0 as is_bak from tbl_backupchecks union 
select  SELECT Company, ServerName, 1 as is_bak FROM tbl_backupchecks_SQLBak
) group by Company, ServerName

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM