在SSMS中联接许多具有相似名称的表的简单方法?

蒂吉

我有很多名称都相似的表(例如“ table1”,“ table2”,“ table3”等),我需要在查询中使用所有这些表。它们都包含它们加入的相同的两个变量(“ ID”和“日期”)。

至少有25种此类表,并且我具有对数据库的只读访问权限,因此我无法将它们组合在一起,甚至无法创建一个可以做到这一点的视图。

我的问题是:是否可以使用简单的快捷方式来连接所有这些表?如果是SAS,我将创建一个宏,但我使用的是Microsoft SQL Server Management Studio 2012。

不必这样做:

 select * 
 from table1 a
 join table2 b on a.id=b.id and a.date=b.date
 join table3 c on b.id=c.id and b.date=c.date
 join ....
 join ....
 join table25 y on x.id=y.id and x.date=y.date

我想做类似的事情:

 select *
 from merge(table1 - table25) using(id, date)

用适当的方法替换上面的“合并”语句。这样的事情可能吗?

斯坦

正如评论中指出的那样,您要寻找的简洁语法不存在。

利用连接列都命名为相同的事实来缩短SQL的唯一方法是使用using关键字:

select * 
 from table1 a
 join table2 b using (id, date)
 join table3 c using (id, date)
 join ....
 join ....
 join table25 y using (id, date)

但是可悲的是,即使那样对您也不起作用,因为using在SQL Server中无法识别关键字。它确实可以在其他流行的数据库中工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种简单的方法可以从SQLite存储库中联接表?

如何在SQL中联接具有多个条件的表?

在Oracle SQL中联接具有常见列的表

如何联接两个查询中哪些表具有相似的名称?

如果它们具有相似的名称/值,则sql联接2个表

合并许多具有相似名称的 csv 文件

解析具有许多不同级别的XML文件的最简单方法是什么?

CPU瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法

SQL:具有相似表的多个左联接

如何在数据框中联接具有相同名称的列

SQL Server:具有许多条件的联接表

在具有类似ID的Spring Boot中联接两个没有外键的表

在同一查询中联接具有不同信息的2个MySQL表

如何在SQLite中联接具有相同行数的两个表?

如何在具有相同列名的sqlalchemy查询中联接不同的表?

如何从PHP的单个表中联接Mysql中具有多个条件的多个查询?

在元数据库中联接具有不同列名的两个SQL表

在SQL中联接许多表

将csv-table映射到具有与gson的csv-headers不同的属性名称的json的简单方法?

合并具有非空交集的最简单方法

添加具有相同索引的熊猫系列的简单方法

构造具有许多内部联接的SQL查询的最佳方法?

从所有表中选择行的简单方法

表在BigQuery中联接

在PostgreSQL中联接表

在Oracle中联接表

自联接一个表以创建“ AND过滤器”的最简单方法?

具有相似 ID 的内部联接

在MSSQL中联接两个表,并且仅在字段中返回具有特定值的行