【发布时间】:2020-01-01 08:11:19
【问题描述】:
我遇到了以下问题。我的表(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
【问题讨论】: