1

我有两个 mysql 表:myTable1 和 b。我的表2

首先,我需要查询第一个表(myTable1)以获取“custid”和“age”,然后查询第二个表(myTable2)以获取与中间结果中的任何记录匹配的所有记录。

第一个查询和结果如下所示:

从 mtyTable1 中选择不同的 custid,年龄,其中 itemid 在(2762、2763)

custid      age
"8897953"   53.1839
"1433515"   49.5507
"7638023"   59.4099
"2310899"   46.8374
"6736604"   47.3001

现在,如何编写一个高效的嵌套查询来搜索“myTable2”以查找所有记录?

4

2 回答 2

2

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)
于 2012-12-18T15:42:05.763 回答
1

尝试 :

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)
于 2012-12-18T15:41:55.263 回答