mysql - SQL 查询 - 从以逗号分隔的一列中获取数据并按行显示
问题描述
我在获取以逗号分隔的数据时遇到问题。我想要
这是我的问题
Table
ID | TDNO | PREVIOUS_TD |
1 | 14 | 13,12,11 |
2 | 23 | 45,12 |
3 | 32 | 89 |
4 | 55 | NEW |
我想要这样的结果。例如,当用户在 TD 中选择 14 时,结果应该是这样的:
ID | TD |
1 | 14 |
2 | 13 |
3 | 12 |
4 | 11 |
当用户在 TD 中选择 32 时,结果应该是这样的:
ID | TD |
1 | 32 |
2 | 89 |
当用户选择 23 时,结果应该是这样的:
ID | TD |
1 | 23 |
2 | 45 |
3 | 12 |
如何做到这一点?
解决方案
为了创建您的数据库,您需要创建一个新表,其 Id 为 Td 和 tdNos 并与此有关系。例如:
Table TdNos
ID | TDNO | PREVIOUS_TD |
1 | 14 | 13,12,11 |
2 | 23 | 45,12 |
3 | 32 | 89 |
4 | 55 | NEW |
Table TdNoHistory
TdID|Priority| PREVIOUS_TD |
1 | 1 | 13 |
1 | 2 | 12 |
1 | 3 | 11 |
2 | 1 | 45 |
2 | 2 | 12 |
3 | 1 | 89 |
对于第二个表,TdId 和 Priority 的组合是主键,它通过 TdId 列与表 TdNos 有关系
推荐阅读
- python-3.x - 尝试从 RabbitMQ 消费时出现线程问题
- javascript - 使用 Angular 7 的 Tizen 可穿戴 Web 应用程序
- jenkins - 如何在不使用 UI 手动配置的情况下配置 Jenkins 在启动时启动作业
- c# - 发布时清除绑定属性
- c# - 使用 LINQ 将属性值与字典键匹配
- pivot-table - 合计类别但最大子项
- c# - C# Selenium Firefox 无法将字符串发送到输入;可见但 webElement 值不变
- vue.js - 如何使用模板在 vuetify v-data-table 中获取数组的索引
- nginx - 为什么open / mall总是匹配/在nginx中
- powerbi - Power BI 将列转换为行