2014-09-09 3 views
0

Я новичок в sql, и я смущен в использовании хранимых процедур.с помощью хранимой процедуры в mysql select

У меня есть две таблицы, таблица пользователей и таблица регистрации с отношением один-два между ними. Проще говоря, я хочу вывести список пользователей с подсчетом их регистрации. Я знаю, как это сделать с левым соединением. Однако выбор в регистрациях становится несколько грязным, и я хотел бы, чтобы он был чище.

Что мне действительно нужно, это «select users.name, getCount (users.id) от пользователей» и иметь всю логику для подсчета регистраций в хранимой процедуре getCount. Но я не нахожу никаких документов для этого. Возможно ли это, или getCount переходит в левое соединение или это просто не то, что хранимые процедуры?

+1

Вам будет лучше использовать представление, чем хранимую процедуру (на самом деле вам понадобится функция - SP, которая возвращает значение) – Bohemian

ответ

0

Вы не можете использовать хранимую процедуру в инструкции SELECT. Но вы можете использовать функцию. Некоторые вещи, которые вы не можете сделать в ФУНКЦИИ.

CREATE FUNCTION test (id INT) 
RETURNS INT 
BEGIN 
DECLARE get_count INT; 

.. 
logic to set get_count 
.. 

RETURN get_count; 
END$$ 
Смежные вопросы