sql-server - SQL 查询 SELECT FROM [来自另一个表的列的值]

标签 sql-server select inner-join dynamic-sql

我有一个表 X,当某些表发生更改时,触发器将在其中插入一行。我已将表名称插入到表 X 中。

现在,我想从表 X 中选择数据,同时与实际表本身内连接。是否可以使用 select 表的某一列中的值作为内连接的表?

查询应该看起来像这样

SELECT X.a, Y.b, Y.c FROM X
INNER JOIN [X.TableName] AS Y ON Y.ID = X.ID

最佳答案

执行

select 'SELECT X.a, Y.b, Y.c FROM X
INNER JOIN [' + X.TableName + '] AS Y ON X.ID = Y.ID 
where x.primarykey =' + x.primarykey from x

会输出一系列sql语句如

SELECT X.a, Y.b, Y.c FROM X
INNER JOIN [ customer ] AS Y ON X.ID = Y.ID
where x.primarykey = 1234

如果愿意的话,您可以执行“sql to build sql”。

关于sql-server - SQL 查询 SELECT FROM [来自另一个表的列的值],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5667840/

相关文章:

sql-server - sql 2008游标与sql2000的区别?

sql - 找不到类型 'tSQLt.Private'

mysql - 在 mysql 中使用内部连接和别名

tsql - INNER JOIN和WHERE之间的区别?

sql - 这个 T-SQL 何时变得不正确?还是一直都有?

sql - 在 SQL 中匹配相似的城市名称

mysql - SQL查询改进(表中的额外列)

sql - Oracle SQL - 没有数据时需要虚拟日期值

mysql - 如何编写用于在 sqlite 数据库中拆分、提取的选择查询?

mysql返回默认值,即使join不返回任何记录