我正在尝试编写表面上应该是相对简单的 SQL 查询 - 但是,我似乎无法让它们工作。
是否可以编写如下所示的查询:
select t.name
from (select *
from mystoredproc(1,2,3) as t)
where t.name = 'foobar'
上述查询有两个问题:
1)首先,上面的陈述是有效的。我的数据库引擎(mySQL)抱怨:
错误 1054 (42S22):“字段列表”中的未知列“t.name”
2) 我想在 SELF JOIN 中使用返回的表 t。但是,我不想再次调用 mystoredproc(...),因为这是一个非常昂贵的调用。
有谁知道如何解决这些问题?
顺便说一句,即使我正在使用 mySQL(现在),我希望任何提供的 SQL 片段与 db 无关(即 ANSI SQL)