1

2つのmysqlテーブルがあります。myTable1およびb。myTable2

まず、最初のテーブル(myTable1)をクエリして'custid'と'age'を取得し、次に2番目のテーブル(myTable2)をクエリして、中間結果のレコードのいずれかに一致するすべてのレコードを取得する必要があります。

最初のクエリと結果は次のようになります。

(2762、2763)のitemidであるmtyTable1から個別のcustid、ageを選択します

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

では、「myTable2」を検索してすべてのレコードを見つけるための効率的なネストされたクエリを作成するにはどうすればよいですか?

4

2 に答える 2

2

JOIN2 つのテーブル:

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 に答える