sql >> Databasteknik >  >> RDS >> Mysql

En annan #1054:Okänd kolumn i mysteriet "fältlista".

För mig uppdrag med CASE-uttryck är lite förvirrande (svårt att läsa) så jag skulle använda CASE klausul med INTO @var istället:

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

Observera att du inte behöver DEKLARERA @session_variables som används i SP.




  1. Mysql 1050 Error Table finns redan när den faktiskt inte gör det

  2. mysql :Visa inte dubblettresultat på SELECT

  3. sql self-join table ta bort dubbletter av rader

  4. MYSQL tar inte emot data från PHP