gpt4 book ai didi

php - 使用搜索结果(如%search%)来匹配数据库中另一个表中的ID

转载 作者:行者123 更新时间:2023-11-30 01:32:45 25 4
gpt4 key购买 nike

我的数据库中有两个表:partsproducts。我在 products 表中有一个列,其中包含 id 字符串(以逗号分隔)。这些 ID 与零件表的 ID 匹配。

**parts**

ID | description (I'm searching this part)
-------------------------------
1 | some text here
2 | some different text here
3 | ect...

**products**

ID | parts-list
--------------------------------
1 | 1,2,3
2 | 2,3
3 | 1,2

我真的很难处理这个 SQL 查询。我已经完成了第一部分,从零件表中获取了 id

零件中选择*,其中描述 LIKE '%{$search}%'

最大的问题是描述列的逗号分隔结构。

显然,我可以在 PHP 中执行此操作,创建零件表中结果的数组,使用它在产品表中搜索 id,然后使用这些结果从零件表中获取行数据(同样) )。效率不太高。

我也尝试过这个,但我显然是想在这里比较两个数组,不知道应该如何完成。

SELECT * FROM `products` WHERE 
CONCAT(',', description, ',')
IN (SELECT `id` FROM `parts` WHERE `description` LIKE '%{$search}%')

有人可以帮忙吗?

最佳答案

我也许会尝试结合使用 LOCATE()SUBSTR()。我主要在 MSSQL 中工作,它有 CHARINDEX(),我认为它的工作方式类似于 MySQL 的 LOCATE()。难免会很乱。零件列表字段中的元素数量是否可变?

关于php - 使用搜索结果(如%search%)来匹配数据库中另一个表中的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17258165/

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