我有一列名为member.id的列,该列存在于名为poster的表中,既是poster.sender又是poster.reciever。
我需要一个查询,该查询选择member.value,其中member.id是poster.sender或poster.reciever。
[我知道名字没有多大意义-我没有想到]
到目前为止,我有这个,它不起作用:
SELECT member.value
FROM ((poster INNER JOIN member ON poster.sender = member.ID)
INNER JOIN poster ON poster.sender= member.id
WHERE (member.id <> ?
AND (((poster.Sender = ?) OR (poster.reciever = ?))AND (poster.Status = 'Accepted'))
任何想法都会超级有帮助!
最佳答案
尝试这个:
SELECT
member.value
FROM
poster s INNER JOIN member ON s.sender = member.ID
INNER JOIN poster r ON r.receiver = member.id
WHERE
member.id <> ?
AND
(
s.sender = ?
OR r.reciever = ?
)
AND
s.status = 'Accepted'
您不能在没有别名的查询中两次使用表,因此别名为
s
和r
。还要根据您的要求,从发送者或接收者表或这两者中更改条件条件。
关于mysql - SQL:两次加入同一列的条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50006737/