从另一个查询的结果查询第二个mysql表
我有两个mysql表:a。我的表1和b。我的表2 首先,我需要查询第一个表(myTable1)以获取“custid”和“age”,然后查询第二个表(myTable2)以获取与中间结果中的任何记录匹配的所有记录 第一次查询,结果如下: 从mtyTable1中选择不同的custid、age,其中itemid位于(27622763) 现在,如何编写一个高效的嵌套查询来搜索“myTable2”以查找所有记录 试试看:从另一个查询的结果查询第二个mysql表,mysql,select,nested-queries,Mysql,Select,Nested Queries,我有两个mysql表:a。我的表1和b。我的表2 首先,我需要查询第一个表(myTable1)以获取“custid”和“age”,然后查询第二个表(myTable2)以获取与中间结果中的任何记录匹配的所有记录 第一次查询,结果如下: 从mtyTable1中选择不同的custid、age,其中itemid位于(27622763) 现在,如何编写一个高效的嵌套查询来搜索“myTable2”以查找所有记录 试试看: SELECT DISTINCT t2.* FROM mtyTable1 t1 INNE
SELECT DISTINCT t2.*
FROM mtyTable1 t1 INNER JOIN Table2 t2 ON t1.custid=t2.custid AND t1.age=t2.age
WHERE t1.itemid IN ( 2762 , 2763)
JOIN
两个表:
SELECT t1.*
FROM yourTable2 t1
INNER JOIN
(
select distinct custid,age
from mtyTable1 where itemid in ( 2762 , 2763)
) t2 ON t1.custid = t2.custid AND t1.age = t2.age
或:
SELECT t1.*
FROM yourTable2 t1
INNER JOIN yourTable1 t2 ON t1.custid = t2.custid AND t1.age = t2.age
WHERE t2.itemid in ( 2762 , 2763)
谢谢为我工作,但有点慢。
SELECT t1.*
FROM yourTable2 t1
INNER JOIN yourTable1 t2 ON t1.custid = t2.custid AND t1.age = t2.age
WHERE t2.itemid in ( 2762 , 2763)