我有以下问题。我的桌子(geo_table
)结构如下:
foreign_table_id | foreign_table_name | some_other_fields...
foreign_table_name
存储不同表的名称和foreign_table_id
在这些表中存储 id。我想要做的是检查上述表中的行是否存储对其他表的有效引用。因此,我需要从外部表中选择一行,其名称基于存储在中的字符串foreign_table_name
。我的代码不起作用,因为它有语法错误,但它清楚地呈现了我想要实现的目标:
SELECT foreign_table_id, foreign_table_name FROM `geo_table` gt
WHERE (
SELECT COUNT(*) FROM gt.foreign_table_name AS t
WHERE gt.foreign_table_id = t.uid
) > 0
这应该动态完成:
declare @tablename varchar(50)
set @tablename = 'test'
declare @sql varchar(500)
set @sql = 'select * from ' + @tablename
exec @sql
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)