mysql 怎么字段分裂_你可以分裂/爆炸MySQL查询中的字段吗?

我必须创建一个学生完成报告。每个学生都属于一个客户。这里是表(简化为这个问题)。

CREATE TABLE `clients` (

`clientId` int(10) unsigned NOT NULL auto_increment,

`clientName` varchar(100) NOT NULL default '',

`courseNames` varchar(255) NOT NULL default ''

)

courseNames字段包含逗号分隔的课程名称字符串,例如“AB01,AB02,AB03”

CREATE TABLE `clientenrols` (

`clientEnrolId` int(10) unsigned NOT NULL auto_increment,

`studentId` int(10) unsigned NOT NULL default '0',

`courseId` tinyint(3) unsigned NOT NULL default '0'

)

courseId字段此处是clients.courseNames字段中课程名称的索引。因此,如果客户的课程名称是“AB01,AB02,AB03”,并且注册的courseId是2,则学生在AB03。

有没有办法,我可以做一个单一的选择这些表,包括课程名称?请记住,将有来自不同客户的学生(因此有不同的课程名称,不是所有的顺序,例如:“NW01,NW03”)

基本上,如果我可以拆分该字段并从结果数组返回单个元素,这将是我正在寻找。这里是我的意思在魔法伪代码:

SELECT e.`studentId`, SPLIT(",", c.`courseNames`)[e.`courseId`]

FROM ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值