mysql 视图查询,if或case问题

mysql 视图查询,if或case问题,第1张

听了你的意思,好像你应该在B表里面增加“0大家好”的记录,这叫做数据库的参照完整性。

还有,你的表B里面不应该有重复,id应该是它的主键。

对于满足上面条件的正常数据库,程序就非常简单。

对于表B里面有不存在的时候也返回数据,可以使用左连接实现,例如:

SELECT A.ID, CASE B.SHOW WHEN NULL THEN "大家好" ELSE B.SHOW END, SUBSTRING_INDEX(A.ARR,"#",2) FROM A LEFT JOIN B ON B.ID=SUBSTRING_INDEX(A.ARR,"#",1)

简单 CASE 函数

CASE input_expression

    WHEN when_expression THEN result_expression

        [ ...n ]

    [ 

        ELSE else_result_expression

    END

CASE 搜索函数:

CASE    

WHEN Boolean_expression THEN result_expression

        [ ...n ]

    [ 

        ELSE else_result_expression

    END

比如:

第一种用法:

SELECT name,

       CASE WHEN birthday < '1981' THEN 'old' 

            WHEN birthday > '1988' THEN 'yong'

            ELSE 'ok' END YORN

FROM lee

第二种用法:

SELECT NAME, CASE name

    WHEN 'sam' THEN 'yong'

    WHEN 'lee' THEN 'handsome'

    ELSE 'good'  END as oldname

FROM lee


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8696838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存