select mysql 中的子查询,其中 table2 是 table1 的一列

select subquery in mysql where table2 is one column of table1

抱歉,我的英语说得不是很好,但我有一个问题,


我有一个名为 "myadv" 的 table,这是主要的 table,我有大约 30-35 个子公司 table 与 "myadv", 在 "myadv" 中是一个名称为 "tbl" 的列,该列保留 "name of table thta relate to any rows"

(例如:对于 id=x ,tbl= table1 和对于 id=y tbl=table2 和 ...) 现在我想要 select 来自 "myadv" 和 "myadv.tbl" 同时(一个查询) 请帮助解决这个问题

这是我的查询,但它不起作用

SELECT *
  FROM `main_t`,
       (SELECT `col` FROM `main_t` WHERE `id`=?) AS `t`
  WHERE `id`=?

感谢您的帮助

这是一个有趣的设计,但我不认为你可以做你想做的事。要完成此操作,您需要编写一个查询,该查询根据来自 myadv 的数据编写并执行另一个查询,但我不知道有什么方法可以做到这一点。我怀疑有更好的方法来做你想做的事情,但在不了解你的数据的情况下很难给你建议。如果您可以编辑您的问题并添加有关您的 myadv table 和与之相关的 table 的其他信息,我们可能会提供帮助。

此外,我不明白您发布的从 main_t 获取数据的查询与您关于使用名为 myadv 的 table 的问题有何关系。

祝你好运。

我解决了这个问题,但只有当 运行 在 wamp sql

中时它才有效

SET @y = CONCAT('SELECT col FROM ',(select tbl from main_t where main_id='100'),' where id= 100 到 @outvar'); 从@y 准备 stmt; 执行 stmt; select @outvar;


我如何查询准备好 mysql、执行 php?