gpt4 book ai didi

php - 在mysql php中获取真假结果

转载 作者:行者123 更新时间:2023-11-29 02:40:23 25 4
gpt4 key购买 nike

我有两个表( friend 和用户),我想获取所有用户的列表,但应该清楚这是否是我的 friend ,我当前的 ID 是“81”

Friends
id user_id friend_id
32 81 169
33 81 170
34 83 171

用户

id      first_name
81 byt
169 abc
170 def
171 xyz

我尝试使用以下代码,但我只得到我 friend 列表中的用户,我想要所有用户,但状态/结果是否是我的 friend

$this->db->select('friends.user_id,friends.friend_id,users.first_name,users.last_name,users.image');
$this->db->from('friends');
$this->db->join('users', 'users.id=friends.friend_id');
$this->db->where('friends.user_id', $add_data['user_id']);

最佳答案

如果你想在 MySQL 中完成这一切,这是你必须运行的查询:

SELECT u.id, NOT ISNULL(f.friend_id) as is_friend
FROM users u LEFT JOIN
(SELECT f.friend_id FROM friends f WHERE f.user_id = 81) f
ON u.id = f.friend_id
WHERE u.id != 81;

基本上,您将所有用户与具有特定 id 的所有 friend 的表连接起来。然后检查 friend_id 是否为 null(由于左连接行为)。

参见 here一个例子。

关于php - 在mysql php中获取真假结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53829516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com