我的表格中有一些行
Sno | sender | receiver
-----------------------
1 | A | B
2 | B | A
3 | A | B
4 | C | D
5 | D | C
6 | A | C
7 | C | D
8 | C | A
9 | A | C
我想要做的是,如果发送者和接收者反之亦然。
例如
如果我有发件人A 和收件人B 连续,而另一行中发件人A 收件人A 且收件人B < strong>发件人B 。这种类型的匹配行应该是print(就像我上面的表格一样)。 我尝试了这样的查询:
select sender, receiver from table where (sender,receiver) = (receiver,sender)
但什么也没得到。什么应该查询以获得与上表相同的结果。
答案 0 :(得分:4)
如果您想要在两个方向上显示该对的所有行:
select t.sender, t.receiver
from table t
where (t.sender, t.receiver) in (select t2.receiver, t2.sender from table t2);
答案 1 :(得分:1)
使用 var theAmount = document.getElementById("amount").value;
$('#generator').on('click', function() {
for(var i = 0; i < theAmount; i++) {
generatePassword();
}
});
Exists
您当前的查询仅与同一记录进行比较,而不是检查其他记录中是否存在
答案 2 :(得分:1)
http://sqlfiddle.com/#!9/c5c70b/3
create table t(
Sno int,
sender char(10),
receiver char(10)
);
Insert Into t (Sno, sender, receiver)
Values
(1,'A','B'),
(2,'B','A'),
(3,'A','B'),
(4,'C','D'),
(5,'D','C'),
(6,'A','C'),
(7,'C','D'),
(8,'C','A'),
(9,'A','C');
select distinct
sender, receiver
from
t
where
(sender, receiver) in (select receiver, sender from t);