mysql - 获取 friend 姓名的SQL表达式

标签 mysql sql

我正在使用 SQL 创建一个交友网络功能。我使用了以下代码:

SELECT relationship.requester, 
       relationship.requested, 
       user.firstname, 
       user.lastname 
  FROM relationship 
  JOIN user ON (user.guid = relationship.requester
           OR user.guid = sqrelationship.requested) 
 WHERE relationship.requester = {$userid} 
    OR relationship.requested = {$userid} 
   AND relationship.approved = 1

SQL 将返回一个表,其中包含用户发起或接收的已批准关系的 ID。但是,user.firstname 和 user.lastname 只返回一组结果。我怎样才能让这个表达式能够同时获得请求者和被请求者的名字?

最佳答案

很难从你没有指定表格设计的问题中分辨出来,但我猜是这样的:

select relationship.requester, relationship.requested, 
       requester.firstname, requester.lastname,
       requested.firstname, requested.lastname,
from relationship
left join user as requester on user.guid = relationship.requester 
left join user as requested on user.guid = relationship.requested
where relationship.requester = {$userid}
  and relationship.approved = 1

关于mysql - 获取 friend 姓名的SQL表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714054/

相关文章:

mysql - 检查多个表上的重复数据

MySQL减去两个计数列

php - 显示特定用户的 SQL 表数据

php - Codeigniter - 插入多个表

mysql - 跨多个表保留插入顺序

PHP + MYSQL 页面 - OOP 和 PDO

php - 如何从 mysql 获取列名?

php - 使用php和Mysql按最大数量排序并确认

mysql - 我正在尝试为以下场景编写一个查询,将一个表分成 2 个,如下所示

sql - 对多个表使用 NOT IN