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

Używanie CASE, WHEN, THEN, END w zapytaniu wybierającym z MySQL

Select LNext.player As NextPlayer
From lineups As L
    Left Join lineups As LNext
        On LNext.BattingOrder Between 11 And 20
            And LNext.BattingOrder  = Case
                                        When L.BattingOrder  = 19 Then 11
                                        Else L.BattingOrder  + 1
                                        End
Where L.battingOrder Between 11 And 20
    And L.active = 1

W rzeczywistości możesz sprawić, że poradzi sobie zarówno w domu, jak i poza nim:

Select LNext.player As NextPlayer
From lineups As L
    Left Join lineups As LNext
        On LNext.BattingOrder  = Case
                                    When L.BattingOrder  = 19 Then 11
                                    When L.BattingOrder  = 9 Then 1
                                    Else L.BattingOrder  + 1
                                    End
Where L.active = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - AS - tabela nie istnieje - 1146

  2. Jak wybrać zoptymalizowane typy danych dla kolumn [specyficzne dla innodb]?

  3. Grupuj strony z jednej kolumny

  4. Właściwe użycie php mysqli autocommit i rollback

  5. Jaki jest najlepszy typ kolumny dla kodu pocztowego w Stanach Zjednoczonych?