SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 04.08.2010 16:59:27

Glun
Участник
Зарегистрирован: 04.08.2010
Сообщений: 2

Объединение таблиц

Ситуация - есть БД переводчиков, в ней много таблиц по языкам. Записи с повторами - т.е. один и тот же человек можеть быть в разных таблицах. При этом информация об языке только в названии таблицы, в остальном структура одинаковая.
Вопрос - как их объединить в одну таблицу, при этом добавив новое поле-чекбокс?
Т.е. сейчас бд формата ФИО-телефон-почта, хотелось бы фио-телефон-почта-и список языков с чекбоксами.

Отредактированно Glun (04.08.2010 17:00:37)

Неактивен

 

#2 04.08.2010 18:05:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Объединение таблиц

Что-то вот такого типа:

SELECT fio, phone, email, SUM(lang1) AS lang1, SUM(lang2) AS lang2 FROM
(
SELECT fio, phone, email, 1 AS lang1, 0 AS lang2 FROM table1
UNION
SELECT fio, phone, email, 0 AS lang1, 1 AS lang2 FROM table2
…) t
GROUP by fio, phone, email;

Неактивен

 

#3 04.08.2010 19:02:48

Glun
Участник
Зарегистрирован: 04.08.2010
Сообщений: 2

Re: Объединение таблиц

Скрипт такого рода создаст поля с языками или их необходимо вбить руками? Языков очень много, переписывать руками - смерть smile

Неактивен

 

#4 04.08.2010 19:23:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Объединение таблиц

Если у Вас по таблице на язык, то Вам все равно ведь прийдется указывать
все названия таблиц. А значит — смерть wink

Неактивен

 

Board footer

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