gpt4 book ai didi

mysql - 当 ID 是另一列的一小部分时,如何选择对象?

转载 作者:行者123 更新时间:2023-11-29 15:43:50 25 4
gpt4 key购买 nike

我有两个表,其中一个表(表 A)中找到的 ID 可以在另一个表(表 B)的列中找到。表 B 中包含表 A 中的 ID 的列还包含其他信息 - 表 A 中的更多 ID 以及一些不相关的数据。我无法设计一个查询来从表 A 中选择出现在表 B 中的 ID。示例:

  Table A
| ID | Name |
| mk5 | Peter|
| j9B | Paul |
| hop | Mary |

Table B
| Type | Settings |
| 1 | x=lmn,y=12a,z=ijg, one_thing=another |
| 2 | x=qza,y=j9B,z=hop, randomtext=and_more |
| 3 | x=hop,y=toe,z=thu, somethingelse=somethingelse |

我想这样的查询:

SELECT * FROM TableA WHERE ID IN (SELECT Settings FROM TableB);

将识别表 A 中位于表 B 的“设置”列中的 ID,但我返回 0 行。非常感谢任何建议。

最佳答案

如果 TableA 的 id 出现在 Settings 列中的 = 之后且 , 之前(除非它位于末尾),则您可以连接表并在 ON 子句中使用 LIKE 运算符:

SELECT a.*, b.* 
FROM TableA a INNER JOIN TableB b
ON concat(b.settings, ',') LIKE concat('%=', a.id, ',%')

关于mysql - 当 ID 是另一列的一小部分时,如何选择对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57295602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com