我有一个关于将表与另一个表保存在数据库上的ID的问题(我使用MySQL)。我有2个表,第一个有和Item ID以及分配给该ID的类别和子类别。第二个具有Item ID,其中包含名称和其他变量等所有特征。如何以一种ID对应于新表中正确项目的方式合并这两个表(这是我认为的困难部分)?可能吗?
感谢您的帮助!
答案 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;