0

私はTable1を持っています:

id|name|city
-------------
1 | bat|nyc
2 | cat|del
2 | rat|bom
3 | mat|xyz

表2

id|name|city
--------------
1 |bat|dsada
2 |cat|sadasd
3 |rat|sdasdas
2 |rat|asdas

上記の例では、2 つのテーブル間で ID と名前の両方が同じ行を表示するクエリが必要です。クエリは、行を表示するクエリが必要です。

1|bat|nyc
2|cat|del 

最初のテーブルから

4

4 に答える 4

0
select
   T1.id, T1.name
from Table1 as T1
where
    exists (select * from Table2 as T2 where T2.id = T1.id and T2.name = T1.name)
于 2012-10-26T09:59:31.813 に答える
0

これを試してみてください: JOIN は、両方の条件が満たされていることを確認します。つまり、2 つのテーブルの両方のレコードが と に対して同じ値を持っていることを確認しますidname

Select t1.name, t1.city from Table1 t1
 Join Table2 t2
  ON t1.id = t2.id and 
        t1.name = t2.name
于 2012-10-26T09:59:55.443 に答える
0

最も簡単な(そしておそらく最も効率的な)のは、次を使用することEXISTSです。

SELECT id,name,city FROM Table1 t1
WHERE EXISTS
(
   SELECT 1 FROM Table2 t2
   WHERE t2.name = t1.name
   AND t2.id  = t1.id
)
于 2012-10-26T09:59:21.190 に答える
0

以下のように両方のテーブルを結合してみてください

select tabl1.* from table1
inner join table2
on table1.id=table2.id and table1.name=table2.name
于 2012-10-26T09:59:25.897 に答える