gpt4 book ai didi

mysql - 加入搜索结果

转载 作者:行者123 更新时间:2023-11-30 23:36:38 25 4
gpt4 key购买 nike

这是我目前的查询:

SELECT
`groups`.`id`,
`groups`.`name`,
`groups`.`description`,
`groups`.`members`,
`groups`.`image`,
FROM
`groups`
WHERE
`groups`.`name` LIKE '%a%'
OR
`groups`.`description` LIKE '%b%'

一切都按预期工作,但我还需要选择一项。问题是它存储在另一个表中,我不太擅长连接。这是第二个表结构:

group_members

  • group_id,
  • user_id,
  • 状态;

我需要为组选择指定的用户状态!是否可以?怎么办?

多谢指教!

编辑:

我需要显示所有组和每个组中的当前用户状态。

编辑#2:

假设 user_id 设置为 33。他键入 aa 作为组名,在结果中他看到名称中包含 aa 的所有组。此外,结果中还有他在每个组中的状态。

ID    Name    Description    Status

2 aa2 foobar 3
2 aa1 foobar 1
4 aa3 foobar
6 aa3 foobar
5 aa3 foobar 2

编辑#3:

这几乎是我需要的...

SELECT `groups`.`id`, `groups`.`name`, `groups`.`description`, `groups`.`members`, `groups`.`image`, `group_members`.`status`
FROM `groups`
LEFT JOIN `group_members`
ON (`group_members`.`group_id` = `groups`.`id`)
WHERE `group_members`.`user_id` = '33'
AND `groups`.`name` LIKE '%%'
OR `groups`.`description` LIKE '%%'

唯一的问题是,我不会选择我不是成员的组。有趣的原因......我确实使用了“左外”连接。

最佳答案

如果我理解你的话,很容易添加一个join ,比如:

SELECT
`groups`.`id`,
`groups`.`name`,
`groups`.`description`,
`groups`.`members`,
`groups`.`image`,
FROM
`groups`
LEFT JOIN group_members
ON `groups`.`id` = group_members.group_id
WHERE
`groups`.`name` LIKE '%a%'
OR
`groups`.`description` LIKE '%b%'
AND group_members.status = xxx

关于mysql - 加入搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856400/

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