小编bat*_*ari的帖子

MySQL SELECT CASE WHEN返回null

who

wid--name-------father---mother  
1----Daisy------David----Liza  
2----Jenny------Joe------Judy  
3----Meggy------Mike-----Manuela  
4----Sarah------Joe------Judy  
5----Chelsea----Bill-----Hillary  
6----Cindy------David----Liza    
7----Kelly------Joe------Judy 
Run Code Online (Sandbox Code Playgroud)

ages

aid---whoid---age  
1-----1--------0  
2-----2--------0  
3-----3-------14  
4-----4-------30  
5-----5-------22  
6-----6-------17  
7-----1-------18  
Run Code Online (Sandbox Code Playgroud)

我希望该列表成为结果:

id---name------age  
1----Meggy-----14  
2----Cindy-----17  
3----Daisy-----18 (Selected data that bigger than 0)  
4----Chelsea---22  
5----Sarah-----30  
6----Jenny-----30 (Her age is 0 on ages table and Sarah's age with same father and mother)  
7----Kelly-----30 (No data on ages table and Sarah's age with same father and mother)
Run Code Online (Sandbox Code Playgroud)

我试过那个查询:

SELECT 
    *,  
    (CASE age  
        WHEN '0' THEN (
            SELECT age 
            FROM ages a 
            LEFT JOIN who …
Run Code Online (Sandbox Code Playgroud)

mysql select case sql-order-by

15
推荐指数
1
解决办法
6万
查看次数

标签 统计

case ×1

mysql ×1

select ×1

sql-order-by ×1