使用返回查询的查询加入

时间:2014-12-28 15:55:03

标签: mysql sql postgresql

某些SELECT语句作为字段存储在表中。我需要编写SELECT语句,该语句与返回SELECT的某些SELECT连接。 例如:

SELECT *
 FROM table1
  JOIN (SELECT t_select FROM table2 WHERE = 'some_condition')

最后一个SELECT SELECT t_select FROM table2将一些SELECT语句作为text返回。 我需要将table1与存储在t_select

中的查询结果联系起来

3 个答案:

答案 0 :(得分:1)

我明白吗?基本上,您想“评估”存储在表中的SELECT?对我来说,这似乎是一个非常糟糕的设计。

如果你真的需要这样做,你需要自己拉出SELECT语句,并将其作为第二个查询发送。你不能在纯MySQL中做到这一点。

答案 1 :(得分:0)

你只想要一个子查询吗?

SELECT *
FROM table1 t1 JOIN
     (SELECT t2.* FROM table2 t2 WHERE = 'some_condition') t2
     on t1.<somecol> = t2.<someothercol>;

答案 2 :(得分:0)

总而言之,您无法使用其他查询执行存储在表中的查询。您必须先检索查询,准备它,然后执行它。看看执行立即:

http://dev.mysql.com/worklog/task/?id=2793

http://www.postgresql.org/docs/9.1/static/ecpg-sql-execute-immediate.html

在表格中存储sql语句并不常见,通常有更好的方法。