ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL查询--对查询所得的字段判断并且重新赋值

2021-10-14 10:01:24  阅读:146  来源: 互联网

标签:vc name -- WHEN 查询 MySQL line type id


需求

当父节点id等于0时,父节点的名称显示为"一级系统部件"

解决方案

使用case when then

语法

CASE 字段

WHEN 条件1 THEN 值 1

WHEN 条件2  THEN 值 2

   [WHEN ...] 

   [ELSE 值] 

END  别名

实例

当父节点id等于0时,父节点的名称显示为"一级系统部件",其他显示为对应的名称

SELECT
    vc.id AS id,
    vc.`name` AS `name`,
    vc.parent_id AS parentId,
    CASE vc.parent_id WHEN 0 THEN '一级系统部件' ELSE a.`name` END parentName,
    vc.material_number AS materialNumber,
    vc.structure_type AS structureType,
    sd.`name` AS structureTypeName,
    vc.type AS type,
    vc.sort AS sort,
    vc.line_id AS lineId,
    b.`name` AS lineName,
    vc.`level` AS `level`,
    vc.remark AS remark 
FROM
    ((
            vehicle_component AS vc
            LEFT JOIN sys_dict AS sd ON sd.`code` = vc.structure_type 
            )
        LEFT JOIN vehicle_component AS a ON a.id = vc.parent_id 
    )
    LEFT JOIN line AS b ON b.id = vc.line_id 
WHERE
    vc.`status` = 1 
    AND vc.line_id = 49

标签:vc,name,--,WHEN,查询,MySQL,line,type,id
来源: https://www.cnblogs.com/mini9264/p/15405335.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有