mysql - MySQL Join 有几个 CASE WHEN
问题描述
我需要一些有关 MySQL 的帮助,我想在其中加入 CASE WHEN。我从下面的语句中得到 3 列。
我想从表 Customer.name 中添加,所以我得到了带有客户名称的第四列。表 CustomerCategory 具有来自 Customer.CustomerID 的外键和 ID
此外,每个客户都有一个 ID,但不需要 CustomerCode,存在 null。尝试了许多版本的加入,但......
SELECT
(CASE WHEN CustomerCategory.CustomerCode = "CUST01" THEN "Distributor" ELSE " " END ) AS Distributor,
(CASE when when CustomerCategory.CustomerCode = "CUST02" THEN "Retail" ELSE " " END ) AS Retail,
(CASE WHEN CustomerCategory.CustomerCode = "CUST03" THEN "Enduser" ELSE " " END ) AS Enduser
from CustomerCategory
解决方案
你应该使用 JOIN
SELECT
CASE WHEN CustomerCategory.CustomerCode = "CUST01" THEN "Distributor" ELSE " " END AS Distributor
, CASE WHEN CustomerCategory.CustomerCode = "CUST02" THEN "Retail" ELSE " " END AS Retail
, CASE WHEN CustomerCategory.CustomerCode = "CUST03" THEN "Enduser" ELSE " " END AS Enduser
, Customer Name
from CustomerCategory
INNER JOIN Customer ON Customer.ID = CustomerCategory.CustomerID
推荐阅读
- swift - Swift:处理两个链表的交集时得到不正确的结果
- html - 带 z-index 的 DIV 位置
- node.js - 如何在其映像中具有“WORKDIR /app”的容器上使用 node.js 来访问共享卷(volumes_from)?
- python - 如何检查 Inno Setup 中是否安装了特定的 Python 版本?
- c# - 如何使用 C# 在“选择/打开文件模式”下打开 Windows 资源管理器
- java - JPA 存储库方法 findByField 返回所有数据
- facebook - Facebook 评论数与从 Facebook API 实际检索到的内容之间的差异
- java - 如何在java中制作“结束游戏”方法
- graphql - How can I log resolver/operation name and duration in HotChocolate?
- javascript - 更改组件后如何修复无限滚动逻辑?