Присоединить представление к процедуре в MySQL

У меня есть представление под названием upcoming_birthday, которое возвращает список людей, у которых день рождения в ближайшие 7 дней (особая благодарность: Предстоящий день рождения на основе текущей даты и Предстоящие дни рождения на этой неделе).

У меня есть процедура, которая принимает в качестве входных данных идентификатор компании и выводит каждого клиента, связанного с указанной компанией. Под link я подразумеваю "имеет отношение с". Источником этих ссылок является sign up by или purchased at (т. е. клиенты могут быть зарегистрированы в компании A, и после покупки чего-либо в компании B они получат ссылку на компании A и B).

Теперь я хотел бы присоединиться к этим двум результатам. Что-то типа:

SELECT a.* FROM upcoming_birthday AS b INNER JOIN (CALL proc_account_link_company(2)) AS a ON b.id = a.id

Это выполнимо?


person Marco Aurélio Deleu    schedule 15.06.2015    source источник
comment
У меня вопрос: что означает a в SELECT a.* FROM upcoming_brithday? Является ли a столбцом из таблицы upcoming_birthday? Если да, то почему вы пишете a, когда пишете *?   -  person    schedule 15.06.2015
comment
a — это псевдоним второй таблицы (в данном случае — процедуры). Значение похоже на SELECT a.* FROM table1 b INNER JOIN table2 a ON b.id = a.id таким образом, что мне нужны только все столбцы в table2, и мне не нужны столбцы из table1.   -  person Marco Aurélio Deleu    schedule 15.06.2015
comment
Ага, я думал, что , находится между a и *, тогда a это псевдоним CALL proc_account_link_company(2), верно?   -  person    schedule 15.06.2015
comment
Я не думаю, что вы можете JOIN результаты процедуры. Вместо этого ваша процедура может записывать во временную/промежуточную таблицу. Эта таблица может быть объединена с таблицей предстоящего_рождения.   -  person zedfoxus    schedule 15.06.2015