【发布时间】:2020-09-24 22:58:22
【问题描述】:
我想创建一个内部连接的动态查询。
我有一个带有列名的临时表 #table2
| ColumnName |
---------------
| column1 |
| column2 |
| column3 |
我的查询应该如下所示:
SELECT * FROM table1 t1
INNER JOIN #table2 t2 ON t2.column1 = t1.column1 AND t2.column2 = t1.column2.......
问题是我事先不知道我的 temp #table2 中有多少列,所以我必须能够添加:
AND t2.column4 = ....
AND t2.column5 = ....
感谢您的帮助
【问题讨论】:
-
您好,我认为您可以使用 (string_agg / concat into variable 和 Exec commande) 来构建您的动态。请提供您的 SQL 服务器版本 string_agg 在旧版本中不受支持。 sqlservertutorial.net/sql-server-string-functions/…
-
修复你的数据模型!不知道一张表中有多少列只会让你的生活变得非常困难。
-
SQL SERVER 2012 @GordonLinoff 不是我选择多少列。我无法更改该模型
-
SQL SERVER 2012 @Sanpas
-
@Sanpas ,不,他们不能。
STRING_AGG在 SQL Server 2017 中添加...您链接到的文档甚至指出:适用于:✓ SQL Server 2017 (14.x) 及更高版本"
标签: sql sql-server