gpt4 book ai didi

php - 如果我无法从 mysql 检索值该怎么办

转载 作者:行者123 更新时间:2023-11-29 13:41:56 25 4
gpt4 key购买 nike

SELECT a.*,
(select count(*) from f4s56_itcs_fields c where c.fid=a.id) nbfields,
(select b.username from f4s56_users b where a.created_by = b.id) username
FROM f4s56_itcs_forms a
where a.created_by=326
or a.group in(2,3,9)

此处,“a.group”可以是 2 或 3 或 4 或 2,3,4,5,6 等。意味着组可以是单值或多值。当它是多值时,不会检索数据。如何解决这个问题?

最佳答案

如果我理解正确,f4s56_itcs_forms.group 列(或 a.group 别名)是一个字符串类型列,可以包含单个或多个值:

a.group
-------
1
2
4
2,5
2,3,5,7

如果这是正确的,您将无法对“a.group 中的值列表”中包含的“值列表”进行直接比较检查。但是,您可以使用 MySQL 的 FIND_IN_SET() 执行单个值检查。使用 a.group 作为您正在查看的集合。

例如,假设您要查找 a.group 中具有值 2 的所有记录:

...
WHERE
FIND_IN_SET(2, a.`group`) > 0

如果您想要检查多个值,则需要单独添加每个值:

...
WHERE
FIND_IN_SET(2, a.`group`) > 0
AND FIND_IN_SET(3, a.`group`) > 0
AND FIND_IN_SET(9, a.`group`) > 0

关于php - 如果我无法从 mysql 检索值该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17968319/

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