sql >> Databasteknik >  >> RDS >> Mysql

Använd CASE, WHEN, THEN, END i en urvalsfråga med 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

Faktum är att du kan få den att hantera både hemma och borta så här:

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. Hur återansluter man förlorade anslutningar med EclipseLink?

  2. Hur man hittar sorteringen i MySQL

  3. Hash gå med i Oracle med exempel

  4. Kan inte ansluta till mysql med 127.0.0.1