Conditionele kolommen (MySQL)
Naar navigatie springen
Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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)