如何在场景中使用INNER JOIN?

我有2个表格:

'用户'表

id      username  
----    -------- 
0001    user1          
0002    user2          
0003    user3          
0004    user4     

'朋友'表

user_id  friend_id  friend
-------  ---------  ------
0001     0004       1
0002     0004       1
0005     0004       0

我如何显示所有的用户4朋友的名字? 如果在朋友表中,朋友列,1表示他们是朋友,0表示他们仍然不是朋友。

我使用INNER JOIN,它看起来像这样:

SELECT users.username
FROM `users`
INNER JOIN `friends` ON users.id = friends.friend_id
WHERE friends.user_id = 0004
  AND friend = 1;

但我得到的是:

user4和user4而不是user1和user2

可以帮我?


SELECT u.username
FROM   Friends f, Users u
WHERE  f.user_id = u.id
       AND f.friend = 1
       AND f.friend_id = '0004'

SELECT users.username
FROM `users`
INNER JOIN `friends` ON users.id = friends.user_id
WHERE friends.user_id = 0004
  AND friend = 1;

你确定你不想把朋友表链接到user_id上的users表而不是friend_id吗? 然后更改where子句以使用friend_id而不是user_id。 有不同的格式化连接的方式,但是你使用内部连接的方式看起来很好。

SELECT users.username
FROM `users` 
INNER JOIN `friends` ON users.id = friends.user_id 
WHERE friends.friend_id = 0004   
AND friend =1
链接地址: http://www.djcxy.com/p/95043.html

上一篇: How to use INNER JOIN in the scenario?

下一篇: how to configure server host ip address and port in cordova app for ajax calls