Conditionele kolommen (MySQL)
Naar navigatie springen
Naar zoeken springen
In een uitgebreide select-query in een sproc van een paar honderd regels, zou ik sommige kolommen graag conditioneel willen incorporeren, afhankelijk van een input-parameter. En dat kan:
- CASE: select case-queries of subqueries
- IF: Select if-subqueries
- union queries met when-statements (vaak rommelig)
Voorbeeld
CREATE DEFINER=`root`@`localhost` PROCEDURE `cond_test`(in markt tinytext) BEGIN select if ( markt="EN", -- Conditie "English!", -- When true "Not English" -- When false ) as uitkomst_1; select case when markt="DE" then "DE!" when markt="HU" then "Magyar!" end as uitkomst_2; END
Voorbeeld CASE-subquery
Zie Nesten van queries (MySQL)#CASE-statement binnen een select-query
Zie ook
- Nesten van queries (MySQL) - Hoe je subqueries incorporeert in een hoofdquery
- Flow control (MySQL)