php - 组合 2 个查询来获取属于我的 friend 且具有特定名称的用户

标签 php mysql

我有两张 table 。表用户(user_id,姓名)和表 friend (friend_id,user_one,user_two)。表好友帮助我留住我的好友用户。其中 user_one 或 user_two 是我的用户表中我的 friend 的用户的 user_ids(我是 $session_user_id)。我创建了以下 2 个查询:

$query = mysql_query(" SELECT `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') ");

$check_friend_query = mysql_query("  SELECT friends_id from friends WHERE  (user_one='$session_user_id' AND user_two ='$user_id') OR (user_one='$user_id' AND user_two='$session_user_id')   ");

我有一个搜索脚本,我想选择所有具有用户在搜索表单中插入的名称并且也是 friend 的用户。我怎样才能结合上面的两个查询来得到我想要的结果。 (我的意思是从我的数据库中获取所有约翰史密斯,他们也是我的 friend )

最佳答案

您可以通过将两个查询连接在一起来组合它们:

SELECT friends_id
from friends f join
     users u
     on u.user_id = f.user_one and f.user_two = $user_id or
        u.user_id = f.user_two and f.user_one = $user_id
where (u.surname LIKE '$name%' AND u.name LIKE '$surname%')

关于php - 组合 2 个查询来获取属于我的 friend 且具有特定名称的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17761975/

相关文章:

php - 使用 codeigniter 时出现数据库错误 #1054

php - 通过 Auth Controller 保护 Assets /媒体文件夹?拉维尔 5.2

mysql - 表达与迁移文件相比,模型文件实际上在做什么?

php - 从 SELECT WHERE IN 查询 MySQL 中提取值

mysql - F# 连接到在线 MySQL DB 执行查询

PHP PDO 总是只给出一个结果

javascript - 如何在 javascript 和 php 中加密和解密 id

javascript - 来自 datepicker onSelect 的 Jquery ajax 调用消失了文本框

java.sql.SQLException : No suitable driver found for jdbc

mysql - 更新 SQL 查询返回误导性响应