s*a
1 楼
包,
求助一个Mysql查询问题:
表A有两列,分别是两个ID(ID1,ID2); 表B有两列,分别是每个ID对应的name。
现在要给出任意两个名字,查询这两个人的组合是否存在于表B中。
这已经实现了:(谢谢之前那谁和谁了)
select tmp1.name AS name1,tmp2.name as name2
from
(select ID,name from B where name="zhangsan") tmp1,
(select ID,name from B where name="lisi") tmp2,
A
where
A.ID1=tmp1.ID and A.ID2=tmp2.ID
group by name1,name2;
现在目的升级了:不是查询特定的某两个人,而是给出一个人名列表(包含n个名字)
,要求从表A中查询出 “双方都存在于人名列表中” 的记录。
请问怎样做会比较快呢?
我试过把两个临时表中的=号换做 in(...), 但是基本查不动~太慢了,才8个名字的列
表,就基本上看不到查得完的希望了。
求助一个Mysql查询问题:
表A有两列,分别是两个ID(ID1,ID2); 表B有两列,分别是每个ID对应的name。
现在要给出任意两个名字,查询这两个人的组合是否存在于表B中。
这已经实现了:(谢谢之前那谁和谁了)
select tmp1.name AS name1,tmp2.name as name2
from
(select ID,name from B where name="zhangsan") tmp1,
(select ID,name from B where name="lisi") tmp2,
A
where
A.ID1=tmp1.ID and A.ID2=tmp2.ID
group by name1,name2;
现在目的升级了:不是查询特定的某两个人,而是给出一个人名列表(包含n个名字)
,要求从表A中查询出 “双方都存在于人名列表中” 的记录。
请问怎样做会比较快呢?
我试过把两个临时表中的=号换做 in(...), 但是基本查不动~太慢了,才8个名字的列
表,就基本上看不到查得完的希望了。