mysql以逗号分隔数据去另一张表关联查询

mysql以逗号分隔数据去另一张表关联查询:

SELECT t.tname, b.* FROM w_topic t ,w_dwxxb b WHERE  CONCAT(',',t.orgcode,',') LIKE CONCAT('%,',b.orgcode,',%')

注释:
t表中的 t.name数据是以逗号分隔,以concat 分隔t.name 去b表中关联查询对应的数据;如果分隔符是“、”,则只需要改成以下:

SELECT t.tname, b.* FROM w_topic t ,w_dwxxb b WHERE  CONCAT('、',t.orgcode,'、') LIKE CONCAT('%、',b.orgcode,'、%')
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您的目标是在 MySQL 中使用逗号分隔的值,您有几种选项。以下是其中几种常见的方法: 1. 使用 FIND_IN_SET 函数:MySQL 提供了 FIND_IN_SET 函数,它可以在逗号分隔的字符串中搜索一个值。例如,假设您有一个名为 'column_name' 的列,其中包含逗号分隔的值,并且您想要查询包含特定值的行,可以使用以下查询: ```sql SELECT * FROM table_name WHERE FIND_IN_SET('value', column_name) > 0; ``` 2. 使用 REGEXP 运算符:您还可以使用正则达式运算符来搜索逗号分隔的值。例如,假设您有一个名为 'column_name' 的列,其中包含逗号分隔的值,并且您想要查询包含特定值的行,可以使用以下查询: ```sql SELECT * FROM table_name WHERE column_name REGEXP '[[:<:]]value[[:>:]]'; ``` 这里 `[[:<:]]` 和 `[[:>:]]` 是用于匹配单词边界的正则达式元字符。 3. 使用 LIKE 运算符:如果您知道要搜索的值在逗号分隔的字符串中出现在特定位置,可以使用 LIKE 运算符。例如,假设您有一个名为 'column_name' 的列,其中包含逗号分隔的值,并且您想要查询包含特定值的行,可以使用以下查询: ```sql SELECT * FROM table_name WHERE CONCAT(',', column_name, ',') LIKE '%,value,%'; ``` 在此查询中,我们在值的前面和后面添加了逗号,以确保只匹配完整的值,并避免部分匹配。 请注意,使用逗号分隔的值可能不是最佳的数据库设计选择。如果可能的话,考虑将这些值拆分为单独的行或使用关联来存储更规范化的数据。这样可以更轻松地对数据进行查询和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值