Я пытаюсь написать то, что якобы должно быть относительно простым SQL-запросом - но я не могу заставить их работать.
Можно ли написать запрос, который выглядит примерно так:
select t.name
from (select *
from mystoredproc(1,2,3) as t)
where t.name = 'foobar'
Две проблемы с вышеуказанным запросом:
1) Прежде всего, вышеприведенное утверждение не работает. Мой движок БД (mySQL) жалуется:
ОШИБКА 1054 (42S22): неизвестный столбец
't.name' в 'списке полей'
2) Я хочу использовать возвращенную таблицу t
в САМОМ СОЕДИНЕНИИ. Однако я не хочу
чтобы вызвать mystoredproc (...)
опять же, потому что это ОЧЕНЬ
дорогой звонок.
Кто-нибудь знает, как исправить эти проблемы?
Кстати, несмотря на то, что я использую mySQL (пока), я бы предпочел, чтобы любой предложенный фрагмент SQL был независимым от БД (т.е. ANSI SQL)