Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql连接两个属性相同但数据不同的表_Mysql_Sql_Join - Fatal编程技术网

如何使用mysql连接两个属性相同但数据不同的表

如何使用mysql连接两个属性相同但数据不同的表,mysql,sql,join,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

表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) 
);

听起来你是在寻找一个而不是
加入

(SELECT maincatg, subcatg, price
FROM itemType1)

UNION ALL

(SELECT maincatg, subcatg, price
FROM itemType2)
这实际上是两个表的串联


除此之外,我真的不确定您希望实现什么。

这种表格将更易于使用

create table item(
  maincatg varchar(25),
  subcatg varchar(25), 
  price float(5),
  type tinyint(1),
  primary key(maincatg, subcatg) 
);
看起来maincatg和subcatg列中也会有大量重复数据。如果我这样做的话,我会把它们放在另一张桌子上,或者两张桌子上。你用身份证加入他们

如果您仔细阅读数据库规范化,您可能会有一个更轻松的时间。这是一个简单的概念,只要你找到一个像样的教程,并且有很多


如果您无法使用因任何原因而无法更改的数据库,您可能需要编辑您的问题,否则大多数答案可能与我的答案类似。

为什么要使用两个表?它们是一样的。表类似于一个类或类型,拥有两个相同的类通常是毫无意义的。除非您有意对数据进行分区,否则最好只使用一个表,并添加一个标志(作为另一列)来指示类型。我将它们放在不同的表中。但对于添加seach*选项,我需要一个表(或一个视图),将所有这些数据都放在一个表中。那么有什么办法吗?如何把这些数据放在一个表中呢?真的很想知道答案。我刚刚用你的anser创建了一个视图。一切都很好。