MySQL 条件连接

标签 mysql sql mysql-error-1064

正如您在下面看到的,我正在检查当前用户是否在 friends 表的 user_auser_b 列中。

根据当前用户所在的位置,获取他对应的好友。

不知何故,我无法使此语法正常工作,想知道是否有人可以告诉我出了什么问题(我在 IF user_a = 2 附近的第 3 行收到错误。

SELECT *
  FROM friends
IF user_a = 2 THEN
  JOIN user_profiles ON friends.user_b = user.profiles.user_id
 WHERE user_a = 2
   AND accepted = 1;
ELSEIF user_b = 2 THEN
  JOIN user_profiles ON friends.user_a = user_profiles.user_id
 WHERE user_b = 2
   AND accepted = 1;
END IF;

最佳答案

你可以用 UNION 来做:

select f.*, up_a.* from friends f
  inner join user_profiles up_a on f.user_a=up_a.user_id
  where f.user_b=2 and f.accepted=1
union
select f.*, up_b.* from friends f
  inner join user_profiles up_b on f.user_b=up_b.user_id
  where f.user_a=2 and f.accepted=1;

关于MySQL 条件连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6234379/

相关文章:

php - 在 html 中显示数据库中的特定值

mysql - 如何在带有 LIKE 的 Mysql 中使用嵌套的 SELECT?

PHP - 在 mysqli 查询中使用数组

sql - 在 SQL 中,我想显示所有以元音结尾的城市的名称

MySQL语法错误,无法找出问题所在

mysql - ms sql数据库导入期间出现错误1064

php - 分页时 FPDF 表格列失去方向

SQL:计算每列中不同值的数量

mysql - 选择给定用户关注的所有用户创建的所有帖子

MySQL 错误#1064