我正在尝试在表格中选择相互对应的行。 我有这个结构
我想选择32
和33
对应的所有行。
此脚本
SELECT * FROM MY_TABLE
WHERE sender = '$this' AND receiver = '$friend';
仅捕获这些行的一侧。
答案 0 :(得分:3)
我为我的网站做过朋友请求系统,这很好。
试试这个:
SELECT * FROM MY_TABLE WHERE (sender = '$this' AND receiver = '$friend') OR (sender = '$friend' AND receiver = '$this');
答案 1 :(得分:0)
SELECT * FROM MY_TABLE t1
JOIN MY_TABLE t2
ON t1.id<>t2.id AND t1.sender=t2.receiver
答案 2 :(得分:0)
SELECT * FROM MY_TABLE t1 INNER JOIN MY_TABLE t2 ON t1.sender = t2.receiver
答案 3 :(得分:0)
这个选择发送者= 32的所有行(如果$ this = 32),接收者是33(如果$ friend = 33),则没有别的。
如果这些cols需要32和33,你必须像这样使用OR
SELECT * FROM MY_TABLE
WHERE sender = '$this' OR sender = '$friend' || receiver = '$friend' OR receiver = '$this';