Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Prosta instrukcja If Else w sql

Wygląda na to, że próbujesz użyć funkcji IF(condition, true_response, false_response) programu Excel składnia. Odpowiednikiem w T-SQL jest CASE WHEN THEN ELSE END składnia:

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

To zadziała z bardziej złożonymi zapytaniami niż przykład, który nam podajesz. Innym sposobem na zrobienie tego, jeśli masz kilka możliwych wartości dla tego samego pola, które zwrócą tę samą odpowiedź, to

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

Jednak nie jest to właściwa składnia, której można użyć, aby uzyskać tylko wiersze z określonymi walutami; poprzednia odpowiedź z

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

najlepiej by się do tego nadawał.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Homestead SQLSTATE[HY000] [2002] Połączenie odrzucone po przeniesieniu serwera

  2. mysql_real_escape_string VS dodaje ukośniki

  3. HQL z testem Null dla relacji jeden do jednego

  4. Jak zdobyć Sumę z dwóch stołów?

  5. numer portu serwera mysql