我有两个表Table1和Table2 在表1列中,手机具有多个手机号码条目。 我想从table1中获取那些重复的手机号码的ID,并在table2中的client1 = table1.id中搜索table1的ID。
我尝试了以下SQL代码来获取重复的手机号码ID
SELECT id FROM table1 GROUP BY mobile HAVING COUNT(*) > 1
然后我尝试将值输入到新的数组中,其中table1.id = table2.clientId
foreach ($table1data as $key) {
$items[] = \Yii::$app->db->createCommand("
SELECT clientId
FROM table2
WHERE clientId = :cid
")
->bindValue(':cid',$key['id'])
->queryAll();
}
答案 0 :(得分:0)
如果table1 (id)
的值相同,则可以将INNER JOIN
与EXISTS
结合使用:
select t2.*
from table2 t2 inner join
table1 t1
on t1.id = t2.clientId
where not exists (select 1 from table1 t11 where t11.mobile = t1.mobile and t11.id <> t.id);