SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.09.2009 12:50:38

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Соединение таблиц

Как соединить две таблицы? UNION или JOIN? Имеются primary key

Неактивен

 

#2 20.09.2009 13:14:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: Соединение таблиц

Непонятно, что вы подразумеваете под термином "соединить"?

UNION - позволяет объединить результат нескольких выражений select в один результирующий набор.
JOIN - позволяет получить результат выражения select путем объединения данных из одной таблицы с данными из другой таблицы.

Подробнее см:
http://dev.mysql.com/doc/refman/5.1/en/join.html
http://dev.mysql.com/doc/refman/5.1/en/union.html

Неактивен

 

#3 20.09.2009 13:55:58

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Re: Соединение таблиц

Т.е. имеются 2 таблицы с одинаковыми по количеству строками и одинаковыми столбцами. Как объединить их в одну таблицу?

Неактивен

 

#4 20.09.2009 14:13:27

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: Соединение таблиц

Не понимаю. В результате вы что хотите получить: удвоенное количество строк или столбцов; новую таблицу или результат выражения select, содержащий данные из обеих таблиц?

Неактивен

 

#5 20.09.2009 15:20:22

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Re: Соединение таблиц

Скажем так: есть две аналогичные таблицы (только разные данные). Как их соединить воедино? Например, чтобы таблица 2 была продолжением таблицы 1?

Неактивен

 

#6 20.09.2009 16:24:04

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Re: Соединение таблиц

нужно получить новую таблицу, состоящую из этих двух

Неактивен

 

#7 20.09.2009 17:58:43

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: Соединение таблиц

Пусть у вас есть две таблицы t1 и t2.

create table new_table like t1;
Создает новую таблицу new_table со структурой аналогичной таблице t1. (Не создаст лишь внешние ключи в случаи наличия таковых у таблицы t1.)

Заполняете новую таблицу.
insert into new_table select * from t1 union all select * from t2;


В случае наличия primary key с аттрубутом auto_increment

insert into new_table (перечисление колонок без primary key) select (перечисление колонок без primary key) from t1 union all select (перечисление колонок без primary key) from t2;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson