【发布时间】:2017-02-03 17:43:06
【问题描述】:
我有桌子 A:
---CODE-----
|21XDS60020| <-There is somewhere in table B
|21XDS60021|
|21XDS60023| <-There is somewhere in table B
|21XDS60025|
|21XDS60026|
还有表 B:
----------------DESCRIPTION--------------------------
|FAX21XDS60020[2008_504571][NMS]sdfg bla bla |
|FAX21XDS52167[2008_XXX324][NMS]sdfg bla blb |
|FAX21P025P61[2006_501909][21XDS60023]sdfg bla blc |
|FAX21XDS60025[2006_502499][NMS]sdfg bla bld |
|FAX21P0251296[2007_503659][NMS]sdfg bla ble |
预期结果:
---------------------DESCRIPTION--------------------
|FAX21XDS60020[2008_504571][NMS]sdfg bla bla |
|FAX21P025P61[2006_501909][21XDS60023]sdfg bla blc |
我想从表 B 中选择所有“描述”记录,如果它们包含作为子字符串的表 A 的“代码”记录之一 我不知道在这种情况下我是否可以以某种方式使用 IN 或 EXISTS 和 REGEXP 语句。
类似的东西(当然以下是错误的):
SELECT description FROM B WHERE description IN (select REGEXP(.*code.*) FROM A);
【问题讨论】:
-
CODE 和 DESCRIPTION 是表 A/B 中的字段吗?当然,这样的查询是可能的,并且在非常小的环境中可能是“好的”,但是分离单个信息将是使用索引的必要条件,以免查询性能不佳
标签: mysql