gpt4 book ai didi

php - 从表中选择逗号分隔的记录

转载 作者:行者123 更新时间:2023-11-29 05:30:20 25 4
gpt4 key购买 nike

表:frei_session

id  username        accountId   status  status_mesg

14 Sumit Bijvani 50 0 I am available
16 Dilip Borad 49 1 I am available
15 Karan Bijvani 51 1 I am available

表:用户

accountId    friends

49 50,52
50 49,52,51,44
51 50

我有 2 个表,frei_session 有在线用户的记录,users 表有用户和他们的 friend 的数据,用逗号分隔 ID。

我想根据 users 表的 friends 列从 frei_session 表中检索数据。

对于前任

如果 用户 49 在线,我想要如下所示的输出

id  username        accountId   status  status_mesg

14 Sumit Bijvani 50 0 I am available

因为用户 50 和 52 是用户 49 的 friend ,但现在只有用户 50 在线

我试过在单个表上进行查询,但不知道如何处理 2 个表

SELECT DISTINCT status_mesg,username,session_id,status,guest
FROM frei_session
WHERE accountId!=49
AND guest=0
AND status!=2
AND status!=0

最佳答案

您的表未规范化,被认为是糟糕的架构设计。无论如何,要直接回答您的问题,MySQL 有一个名为 FIND_IN_SET 的内置函数,它可以搜索 CSV 格式的特定值。

SELECT  b.*
FROM users a
INNER JOIN frei_session b
ON FIND_IN_SET(b.accountID, a.friends) > 0
WHERE b.status = 0 AND
a.accountID = 49

关于php - 从表中选择逗号分隔的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15470760/

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