3

したがって、2 つのテーブルがあり、そのうちの 1 つは次のようになります。

テーブル:data

  ID | col_1 | col_2 | col_3 | col_4
-------------------------------------------------- ----
  1 | 167 | 12 | 15 | 何か1
  2 | 198 | 27 | 12 | 何か2
  3 | 253 | 15 | 17 | 何か3

および表:catalog

  ID | col_1
-----------------
  12 | 赤
  15 | 黄色
  17 | ピンク
  27 | 緑

今、私がやろうとしているのは、テーブルからcol_1col_2col_3およびを取得することですが、およびの値を取得する代わりに、.col_4datacol_2col_3col_1catalogcatalog id

たとえば、データ テーブルのすべての行について、次の情報を返します。

    167 | 赤 | 赤 | イエロー | 何か1
    198 | 緑 | 赤 | 赤 | 何か2
    253 | イエロー | ピンク | 何か3

私はこれを試しました:

SELECT data.col_1, catalog.col_1, catalog.col_1, data.col_4
FROM data
INNER JOIN catalog ON data.col_2 = catalog.id
INNER JOIN catalog ON data.col_3 = catalog.id

しかし、効果はなく、驚きました。

あるテーブルの複数の列を別のテーブルの単一の列に内部結合する方法が見つからないだけで、Google はあまり役に立ちませんでした。正しいキーワードで検索しているかどうかは実際にはわかりません。

4

1 に答える 1

4

カタログが参照する場所がわからないため、テーブル名にエイリアスを付ける必要があります。

SELECT data.col_1, c1.col_1, c2.col_1, data.col_4
FROM data
INNER JOIN catalog c1 ON data.col_2 = c1.id
INNER JOIN catalog c2 ON data.col_3 = c2.id
于 2013-10-24T15:30:03.327 に答える