Mysql 分隔符拆分字段

在MySQL中,当需要匹配含有逗号分隔值的字段时,遇到的问题及解决方案。通过对TD表的case_num字段与TC表的case_num字段进行比较,确保所有TD的数据在TC表中status为1的状态下,尝试了Find_in_set、Locate、Regrex和Like等方法,但存在遗漏。最终通过创建序列表并结合SUBSTRING_INDEX函数找到恰当的匹配方法。
摘要由CSDN通过智能技术生成

问题

有俩张表,表1 Td,表2 Tc,Td表的case_num字段包含Tc的case_num字段,查找td的case_num字段的值全部在Tc状态为1中。

建表和数据

create table Td (
id varchar(10),
case_num varchar(10),
document_name varchar(200),
PRIMARY KEY (ID)
);

CREATE TABLE Tc (
id varchar(10),
case_num varchar(10),
CASE_NAME varchar(20),
STATUS varchar(10),
PRIMARY KEY (id)
);

SELECT * FROM Td;
SELECT * FROM Tc;

INSERT INTO td (id, case_num, document_name) VALUES (‘1’, ‘A,G,C’, ‘A’);
INSERT INTO td (id, case_num, document_name) VALUES (‘2’, ‘A,F’, ‘B’);
INSERT INTO td (id, case_num, document_name) VALUES (‘3’, ‘F,W’, ‘C’);
INSERT INTO td (id, case_num, document_name) VALUES (‘4’, ‘A,W,A’, ‘D’);
INSERT INTO td (id, case_num, document_name) VALUES (‘5’, ‘A,A,A,AA,A’, ‘F’);

INSERT INTO tc (id, case_num, CASE_NAME, STATUS) VALU

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值