如何使用mysql连接2个具有相同属性但每个表中的数据不同的表

时间:2014-11-16 05:54:36

标签: mysql sql join

表1

create table itemType1(
  maincatg varchar(25), 
  subcatg varchar(25), 
  price float(5), 
  primary key(maincatg, subcatg) 
);

表2

create table itemType2(
     maincatg varchar(25), 
     subcatg varchar(25), 
     price float(5), 
     primary key(maincatg, subcatg) 
);

2 个答案:

答案 0 :(得分:2)

听起来你正在寻找UNION而不是JOIN

(SELECT maincatg, subcatg, price
FROM itemType1)

UNION ALL

(SELECT maincatg, subcatg, price
FROM itemType2)

这实际上是两个表格的串联。

除此之外,我真的不确定你希望完成什么。

答案 1 :(得分:0)

这种表格将更容易使用。

create table item(
  maincatg varchar(25),
  subcatg varchar(25), 
  price float(5),
  type tinyint(1),
  primary key(maincatg, subcatg) 
);

看起来你的maincatg和subcatg列中会有很多重复数据。如果我这样做,我会在另一张桌子或两张桌子上。你用ids加入他们。

如果您阅读数据库规范化,您可能会更容易。只要你找到一个体面的教程并且有足够的教程,这是一个简单的概念。

如果您因使用无法以任何原因无法更改的数据库而陷入困境,您可能应该编辑您的问题,或者大多数答案可能与我的相似。