php - 结合 SQL UNION 和 JOIN
问题描述
query = "SELECT `receiver` as chat_users FROM inbox WHERE receiver='$my_id' or sender='$my_id' UNION SELECT `sender` FROM inbox'";
$run = mysqli_query($con, $query);
while($row = mysqli_fetch_assoc($run)){
$chat_user_id= $row['users'];
query2 = "SELECT * FROM inbox WHERE receiver=$my_id AND sender=$chat_user_id UNION SELECT * FROM inbox WHERE receiver=$chat_user_id AND sender=$my_id LIMIT 1";
}
说明: - 这与聊天系统有关 - 第一次查询返回聊天用户的唯一列表,即与我聊天的用户。- 在第二个查询中,我得到了我和其他聊天用户之间的最后一条消息。
查询工作完美,但我想以更好的方式做到这一点,是否可以将这 2 个 sql 查询合并为 1 个?
解决方案
推荐阅读
- json - 在 Gatsby 中使用 graphQL 查询多个 JSON 文件
- c# - 动态 id 的 PageObject 模型?C#
- javascript - amcharts V4 在饼图中选择时重定向到 URL
- oauth-2.0 - 使用 Identity Server4 进行 MS Bot 身份验证(通用 oauth2)
- python - PyQt5 在文本编辑中显示函数输出
- java - java.lang.ArrayIndexOutOfBoundsException:索引 5672 超出 Java 11 中长度 247 的范围
- docker - docker-compose.yml nginx 与 php 链接
- visual-studio - 试图从另一个脚本访问变量
- typo3 - 如何设置用于 TCA/Overrides 的配置或如何配置 sys 类别?
- python - 找不到文件或目录,即使它存在