6

何百回もあなたのサイトを訪れた後、これは私の最初の投稿です。

簡単な質問です。

共通の列が 1 つだけある、すべてが異なる、独立した 2 つのテーブルがあります。これを ID_Client と呼びます

これらのテーブルを変更する必要はありませんが、それらをマージして、これを選択クエリにしたいと考えています。

表 A

Col_ID |Col 1 |Col 2 |Col 3 |
----------|---------|---------|--------|
40302025 |50 | 60 | 70 |
40302028 |50 | 60 | 70 |
40302030 |50 | 60 | 70 |
40302055 |50 | 60 | 70 |
40302074 |50 | 60 | 70 |

表 B

Col_ID |Col X |Col Y |Col Z |
----------|---------|---------|--------|
40302025 |ABC | CDE | CDE | 7ASE |
40302028 |ABC | CDE | CDE | 7ASE |
40302030 |ABC | CDE | CDE | 7ASE |
40302055 |ABC | CDE | CDE | 7ASE |
40302074 |ABC | CDE | CDE | 7ASE |

表の結果

Col_ID |Col X |Col Y |Col Z |Col 1 |Col 2 |Col 3 |
----------|---------|---------|---------|--------- |---------|---------|
40302055 |ABC | CDE | CDE | 7ASE |50 | 60 | 70 |
40302074 |ABC | CDE | CDE | 7ASE |50 | 60 | 70 |

最初のテーブルが 2 番目のテーブルに依存するように (「順序」、「制限」などのように) クエリを実行する必要があり、その逆も同様です。

例: ID> 40302030 であるテーブル B の X 列に基づいて、テーブル A の列 2 を並べ替えたい

例 2: ID> 40302030 の表 A の列 3 と表 X の列 B を選択したい

これらの例をクエリで解決したくはありませんが、どの関数を使用すればよいかを理解したいと考えています。UNION 、 UNION ALL 、 JOIN を試しましたが、使用の光学が理解できなかったのかもしれません。

「2 つのテーブルを 1 つにマージして、SELECT、ORDER BY、WHERE などのクエリを作成したい」のように聞こえます。

私の英語に感謝し、申し訳ありません

カルロ

4

2 に答える 2

8

JOIN2 つのテーブルが必要です。このようなもの:

SELECT
  a.col_ID,
  b.colx,
  b.coly,
  b.colz,
  a.col1,
  a.col2,
  a.col3
FROM tableA AS a
INNER JOIN tableB AS b ON a.col_ID = b.col_ID
WHERE a.col_ID > 40302030;

ここで実際にそれを見てください:

結果:

|   COL_ID | COLX | COLY | COLZ | COL1 | COL2 | COL3 |
------------------------------------------------------
| 40302055 |  ABC |  CDE | 7ASE |   50 |   60 |   70 |
| 40302074 |  ABC |  CDE | 7ASE |   50 |   60 |   70 |

ORDER BY並べ替えの場合は、句を追加します。


2 つのテーブルは相互に関連しているため、JOINそれらを使用する必要があります。

2 つのテーブルの列を 1 つの列セットにマージする場合に使用する必要があるかもしれませんがUNION、そうではないと思います。tablea のすべての列と tableb のすべての列を表示する必要があるためです。

于 2013-04-28T08:21:53.553 に答える
2

次に例を示します。

SELECT
     a.col_ID, b.colx,b.coly,b.colz,a.col1,a.col2,a.col3
FROM 
     tableA a, tableB b
WHERE 
     a.col_ID = b.colID 
ORDER BY 
    b.colx ASC

それが役立つことを願っています。

于 2014-01-18T12:29:10.183 に答える