gpt4 book ai didi

php - 如何使用不同的where子句将2个mysql查询合并为1个

转载 作者:行者123 更新时间:2023-11-30 00:02:28 25 4
gpt4 key购买 nike

所以我需要帮助将 2 个 mysql 查询合并为 1 个查询。这样我就可以使用 php 将查询插入到 foreach 循环中,但我陷入困境,因为我还不知道该怎么做!请帮忙。

我希望它返回我选择的所有列。

查询 1:

SELECT b.id, b.post_text, c.default_photo, d.first_name, e.status 
FROM posts b
INNER JOIN profiles c
INNER JOIN users d
INNER JOIN friendship e
ON b.from_user = c.user_id
AND b.from_user = d.id
AND e.friend_id = b.from_user
WHERE e.status = 'Friend'
AND e.user_id = :id
ORDER BY b.id DESC

查询 2:

SELECT b.id, b.by_who_id, b.photo_dir, c.default_photo, d.first_name, e.status
FROM photos b
INNER JOIN profiles c
INNER JOIN users d
INNER JOIN follower e
ON b.by_who_id = c.user_id
AND b.by_who_id = d.id
AND e.from_user = b.from_user
WHERE e.status = 'Following'
AND e.following_who_id = :id
ORDER BY b.id DESC

两个查询都有效,但我需要帮助将它们组合起来。

更新

好的,所以查询 1 现在可以完美运行,我希望查询 1 和 2 在一起的原因是因为如果用户遵循该“某事”,它就会获取数据。但如果他没有遵循那个“东西”,那么它不会返回任何东西,现在我希望所有列一起返回。

不知道是否有意义,请告诉我

最佳答案

正如我所见,您有相同的查询,但具有不同的状态过滤器和额外的列名称。只需使用语句“WHERE e.status IN ('status1', 'status2')”以及两种情况下所需的所有字段列表即可解决您的问题。

关于php - 如何使用不同的where子句将2个mysql查询合并为1个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24903428/

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