mysql - 加入未知表名

标签 mysql join

我需要连接表 1 和表 2。我不知道表 2 的名称,但它是表 1 中的一条记录。所以我正在尝试:

SELECT table2.*
from table1 t
JOIN ( 
    SELECT tname from table1 t1 WHERE t.id = t1.id
    ) as table2 ON table2.ref = t.ref
WHERE ...

但它不起作用。有任何想法吗?谢谢

我的错误是:“‘where 子句’中的未知列‘t.id’”

最佳答案

您可以将查询修改为如下所示。试一试

SELECT t.*
from table1 t
JOIN ( 
    SELECT id, tname from table1
    WHERE some_condition
    ) table2 on t.id = table2.id
WHERE ...

关于mysql - 加入未知表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742923/

相关文章:

MySQL JOIN 与 3 个表和 COUNT() 不工作

Mysql 30+ 加入非常小的表?

mysql - 如何从 (s,d) 对表中有效过滤 s 和 d 的重复值,仅保留最小的 (s,d) 对

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

MySQL:组合两个 SELECT 语句以仅显示相交的行

mysql - 如何使用 join 删除 mysql 行?

php - 外键可以为空或留空吗?

mysql 复制一些行并更新一列

javascript - 仅使用 Electron (Atom shell) 和 PHP+mysql 服务器的身份验证表单

sql-server - 基于JOIN两个表的SQL Server View -如何用空格替换NULL值?