0

MySQL データベースに次の構造があります。

   +--------------+    +--------------+
   |    table_1   |    |    table_2   | 
   +----+---------+    +----+---------+  
   | id |   name  |    | id | surname |  
   +----+---------+    +----+---------+  
   | 1  | tbl1_1  |    | 1  | tbl2_1  |  
   | 2  | tbl1_2  |    | 2  | tbl2_2  |   
   | 3  | tbl1_3  |    | 3  | tbl2_3  |  
   +----+---------+    +----+---------+   

これを返すクエリが必要です:

   +----+---------+---------+
   | id |   name  | surname |
   +----+---------+---------+
   | 2  | tbl1_2  | tbl2_2  |
   +----+---------+---------+

私はグーグルで検索しました、私が見つけたのはこれを行うUNIONです:

   +----+---------+
   | id |  name   |
   +----+---------+
   | 2  | tbl1_2  | 
   | 2  | tbl2_3  |
   +----+---------+  

これは私が探しているものではありません。それらを重ね合わせるのではなく、隣同士に組み合わせる必要があります。

4

2 に答える 2

0

これは何をしなければならないかです:

SELECT table_1.id, name, surname FROM table_1, table_2 WHERE table_1.id = 2 AND table_2.id = 2
于 2012-04-23T09:49:54.940 に答える
0

要件に基づく結合のタイプであるJOINを使用する必要があります。

SELECT id,name,surname FROM table_1 INNER JOIN table_2 on table_2.id=table_1.id WHERE table_1.id = 2

INNER JOIN は、一致する ID 列が一致する限り、両方のテーブルからすべての行を選択します。つまり、両方のテーブルに ID が存在します。

于 2012-04-23T02:27:30.733 に答える