Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Outro #1054:Coluna desconhecida no mistério da 'lista de campos'


Para mim, atribuição com expressão CASE é um pouco confuso (difícil de ler), então eu usaria CASE cláusula com INTO @var em vez de:
BEGIN
CASE
    WHEN vtable = 'daily_operation' THEN 
        SELECT start_time INTO @result FROM daily_operation WHERE (client_id = vclient_id AND user_id = vuser_id AND id = vid AND edition_id = vedition_id) LIMIT 1;
    WHEN vtable = 'monthly_operation' THEN 
        SELECT start_time INTO @result FROM monthly_operation WHERE (client_id = vclient_id AND user_id = vuser_id AND id = vid AND edition_id = vedition_id) LIMIT 1;
END CASE;

RETURN @result;
END

Observe que você não precisa DECLARE @session_variables usado no SP.