sql >> Database >  >> RDS >> Mysql

Eenvoudige If Else-instructie in sql

Het lijkt erop dat u Excel's IF(condition, true_response, false_response) probeert te gebruiken syntaxis. Het equivalent in T-SQL is de CASE WHEN THEN ELSE END syntaxis:

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY ='USD' THEN 1 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR' THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

Dit werkt met complexere zoekopdrachten dan het voorbeeld dat u ons geeft. Een andere manier om dit te doen, als u een aantal mogelijke waarden voor hetzelfde veld heeft die hetzelfde antwoord zullen opleveren, is

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

Dat is echter niet de juiste syntaxis om alleen de rijen met bepaalde valuta's te krijgen; het vorige antwoord met

SELECT *     
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES
WHERE 
    CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') 

zou daarvoor het beste werken.



  1. PHP echo SQL-telling

  2. MySQL C++ Connector onopgelost extern symbool _get_driver_instance

  3. Json codeert een volledige mysql-resultatenset

  4. 5 beveiligingsvoordelen van cloudgebaseerde oplossingen voor databasebewaking