【问题标题】:SQL select firstname from id [duplicate]SQL从id中选择名字[重复]
【发布时间】:2020-04-16 21:38:06
【问题描述】:

我需要这方面的帮助。 我有这两张桌子。我需要从相应的 id 打印名字。它适用于人们匹配的好友应用程序,例如,我需要它来打印“夏洛特和山姆现在是好友”。

用户:

    id  /  firstname  /  lastname    
--------/-------------/------------
     1  /  charlotte  /  jeuris
     2  /  sam        /  verdaet
     3  /  hilde      /  hayen

匹配:

  user1  /  user2
---------/----------
   2     /    3
   1     /    3 

我现在拥有的是:

  $statement = $conn->prepare("
    SELECT users.id 
    FROM users 
    LEFT JOIN matched ON users.id=matched.user1 
    and LEFT JOIN matched ON users.id=matched.user2");

但在这一点上,我真的不知道什么是错还是对了..

谢谢!

【问题讨论】:

  • 你不要在连接之间放置AND

标签: php mysql


【解决方案1】:

你不加入matched两次,你加入users两次,因为你想从matched的一行中得到两个名字。

SELECT u1.firstname AS friend1, u2.firstname AS friend2
FROM matched AS m
JOIN users AS u1 ON u1.id = m.user1
JOIN users AS u2 ON u2.id = m.user2

而且你不需要使用LEFT JOIN,因为你不能在不存在的用户之间进行匹配。

【讨论】:

  • 好的,我想我明白了,谢谢!我现在唯一的问题是我不完全知道如何在我的索引页上打印它,我想用 echo 吗?但不确定回声之后要做什么
  • echo "{$row['friend1']} is friends with {$row['friend2']}<br>";
猜你喜欢
  • 1970-01-01
  • 2017-05-03
  • 2021-01-11
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
相关资源
最近更新 更多