mysql - 两者上的 SQL JOIN

标签 mysql sql join

我有以下 SQL,它创建了一个包含其他信息的好友列表:

SELECT DISTINCT exchange.id userid, exchange.name username, exchange.lastactivity     lastactivity, exchange.id avatar, exchange.id link, cometchat_status.message, cometchat_status.status
FROM buddy
JOIN exchange ON buddy.penpalA = exchange.id
LEFT JOIN cometchat_status ON exchange.id = cometchat_status.userid
WHERE buddy.penpalB =887
ORDER BY username ASC 

它可以很好地显示当前成员是 penpalA 的某人的 friend 列表,但是我想这样做,以便它还检查 penpalB 是否是当前成员,如果是,则从该列中获取信息,而不是另一个作为 penpalA 或 penpalB 可能是当前成员,它目前不检查这个。

我如何修改它才能使其正常工作?

最佳答案

您是否有任何字段设置为某个值,该值定义是否将某些内容设置为当前?例如,假设您在数据库表中有一个名为“当前”的字段,该值可以是 0 或 1 only.0 如果它不是当前的,如果它是当前的则为 1。 现在在查询中您可以添加 WHERE current='1' 并基于此从数据库中提取您想要的相应字段。

关于mysql - 两者上的 SQL JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8915287/

相关文章:

mysql - 我怎样才能提高这个查询的性能?

mysql - LEFT JOIN 与可能存在或可能不存在的数据集

PHP MySQL JSON 自定义输出

MySql复杂连接性能问题

php - 求SUM时查询执行速度

mysql - 如果可用,添加列

mysql - 如何从一系列行中随机提取 N 条记录并不断迭代?

用于创建插入脚本的 SQL 脚本

r - 根据两个变量匹配数据帧行(索引)

python - 发现类型错误 : sequence item 3: expected string, float