2017-11-23 7 views
1

データベースにIDを保持する別のテーブルとマージすることについて質問があります(私はMySQLを使用しています)。私は2つのテーブルを持っています、最初のアイテムIDとそのIDに割り当てられたカテゴリとサブカテゴリです。 2番目のアイテムIDは、名前やその他の変数などのすべての特性を持つアイテムIDです。 IDが新しいテーブルの正しい項目に対応するように、これらの2つのテーブルをどのようにマージできますか(これは私が考える難しい部分です)。出来ますか? Please refer to this link to see a descriptive image of what I need to do, as I can't insert images directlyIDを保持している2つのテーブルをマージする

ありがとうございました!

+1

ASはテーブルtable_nameのCREATE書いて、SQLクエリをテストしますか? – Hackerman

+0

イメージの代わりにプレーンテキストを投稿してください。コピーして回答と例に貼り付けることができます。 – Barmar

+0

ヒント:INNER JOIN – Eric

答えて

1

第二のテーブルに存在しない場合

使用はInner Joinと呼ばれる参加左上記のクエリによってフィールドが返され、新しく作成されたテーブルにデータが挿入されます。以下にその作成した後にデータを挿入するクエリです:

Insert into tablename 
Select * 
from table1 
natural join table2; 

注:新しいテーブル内と選択クエリ上記の結果で順序と列のデータ型が同じでなければならないことを確認してください。

+0

クエリを試しましたか? –

+0

@Harshiiありがとうございました。今はテーブルが1つしかなく、それが私の必要なものです。再度、感謝します。 – eera5607

+1

喜んで助けてください。 1つのことを確認したいだけです。マージされた結果を表示したいのですか、このマージされたデータで新しいテーブル全体を作成したいですか? –

1

はこれが行います:

を選択*、b.ItemName、b.ItemChar1、b.ItemChar2はFirstTableからa.ItemId = B.ItemIdにSecondTable B SELECT * FROM参加;。

Select * 
from table1 
inner join table2 
on table1.itemid = table2.itemid; 

EDIT: OPは新しいテーブルを作成したいとレコードのいくつかは、それは非常に基本的な操作です

1

私は、結合された結果からテーブルを作成すると仮定しています。詳細は、thisページを参照してください。

基本的にあなたが参加するように、あなたが意味sql_query

create table new_item_table 
as 
select 
    a.item_id, 
    a.category, 
    a.subcategory, 
    b.item_name, 
    b.item_char_1, 
    b.item_char_2 
from 
    item_category a inner join item_char b on a.item_id = b.item_id; 
関連する問題