2014-11-16 1 views
1

Таблица 1как соединить 2 таблицы, имеющие одинаковые атрибуты, но разные данные в каждой таблице с помощью MySQL

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

Table2

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

Почему 2 стола? Они одинаковые. Таблица похожа на класс или тип, и обычно бессмысленно иметь два одинаковых класса. –

+2

Если вы намеренно не разбиваете свои данные, вам лучше использовать только одну таблицу с добавлением флага (как другого столбца) для указания типа. – Abecee

ответ

2

Похоже, что вы ищете UNION а не JOIN.

(SELECT maincatg, subcatg, price 
FROM itemType1) 

UNION ALL 

(SELECT maincatg, subcatg, price 
FROM itemType2) 

Это эффективная конкатенация двух таблиц.

Помимо этого, я действительно не уверен, чего вы надеетесь достичь.

+0

Как поставить эту группу данных в одну таблицу? – TDK

+0

На самом деле thnk u для ответа. Я просто создал представление, используя ваш anser. Было прекрасно. – TDK

0

Этот вид стола будет намного легче работать.

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

Это также выглядит, как вы будете иметь много дубликатов данных в вашем maincatg и subcatg столбцов. Если бы я делал это, у меня были бы те в другом столе или, возможно, два. Вы присоединяетесь к ним с помощью идентификаторов.

Возможно, вам будет легче, если вы прочитаете нормализацию базы данных. Это простое понятие, чтобы освежиться до тех пор, пока вы найдете достойный учебник, и есть много.

Если вы застряли, используя базу данных, которую вы не можете изменить по какой-либо причине, вам, вероятно, следует изменить свой вопрос, чтобы сказать это, иначе большинство ответов, вероятно, будут похожи на мои.

+0

У меня это в отдельных таблицах. Но для добавления опции seach * мне нужна таблица (или просто представление), содержащая все эти данные в одной таблице. Так есть способ? – TDK

Смежные вопросы