合并2个保留ID的表

时间:2017-11-23 19:48:36

标签: mysql sql

我有一个关于将表与另一个表保存在数据库上的ID的问题(我使用MySQL)。我有2个表,第一个有和Item ID以及分配给该ID的类别和子类别。第二个具有Item ID,其中包含名称和其他变量等所有特征。如何以一种ID对应于新表中正确项目的方式合并这两个表(这是我认为的困难部分)?可能吗? Please refer to this link to see a descriptive image of what I need to do, as I can't insert images directly

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

这将是:

从FirstTable中选择一个。*,b.ItemName,b.ItemChar1,b.ItemChar2 a.ItemId = B.ItemId;

中的SecondTable b的连接选择*

如果第二个表中没有某些记录,请使用左连接

答案 1 :(得分:1)

这是一个非常基本的操作Inner Join

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

编辑:由于OP想要创建一个新表,其中字段返回上面的查询并将数据插入到新创建的表中;以下是在创建数据后插入数据的查询:

Insert into tablename
Select *
from table1
natural join table2; 

注意:确保新表和上面选择查询结果中列的顺序和数据类型必须相同。

答案 2 :(得分:1)

我假设你想要从组合结果中创建表。有关详细信息,请参阅this页。

基本上你编写并测试SQL查询然后CREATE TABLE table_name AS 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;