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

MySQL IF ELSEIF w zapytaniu wybierającym

Masz to, czego używałeś w procedurach składowanych tak jak to w celach informacyjnych, ale nie są one przeznaczone do użytku tak, jak masz teraz. Możesz użyć IF jak pokazuje duskwuff . Ale Case oświadczenie jest lepsze dla oczu. Tak:

select id, 
    (
    CASE 
        WHEN qty_1 <= '23' THEN price
        WHEN '23' > qty_1 && qty_2 <= '23' THEN price_2
        WHEN '23' > qty_2 && qty_3 <= '23' THEN price_3
        WHEN '23' > qty_3 THEN price_4
        ELSE 1
    END) AS total
 from product;

To wygląda czyściej. Przypuszczam, że nie potrzebujesz wewnętrznego SELECT w każdym razie...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pozbyć się błędu MySQL „Przygotowana instrukcja wymaga ponownego przygotowania”

  2. Nie można połączyć się z żadnym z podanych hostów MySQL podczas sprawdzania połączenia

  3. php zmienna pętli while dla co trzeciego div

  4. wywołanie funkcji członkowskiej execute() na obiekcie niebędącym obiektem

  5. Jak pominąć wiersz podczas importowania złego zrzutu MySQL