我有以下 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/