powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / объединение таблиц
12 сообщений из 12, страница 1 из 1
объединение таблиц
    #33471360
areal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понимаю, что вопрос идиотский, тем не менее...
2 таблицы с одинаковой структурой

CREATE TABLE `T1` (
`id` varchar(7) NOT NULL default '',
`fn` varchar(20) default NULL,
`ln` varchar(20) default NULL,
`sn` varchar(20) default NULL,
`email` varchar(30) default NULL,
`phone` varchar(20) default NULL,
`info` longtext NOT NULL
)

Понятно, что UNITE ALL всё это счастье объединить может, но требуется при совпадении id на нулевые данные таблицы T1 положить ненулевые из таблицы T2.
...
Рейтинг: 0 / 0
объединение таблиц
    #33471364
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, вы недостаточно конкретно поставили задачу.
Например, если в таблице 1 id отсутствует, а в таблице 2 есть -- что следует делать?
А во-вторых, вам поможет if.
...
Рейтинг: 0 / 0
объединение таблиц
    #33471386
areal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
id есть и там и там.
...
Рейтинг: 0 / 0
объединение таблиц
    #33471403
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, будем буквоедами.
Что делать, в случае если значение id, присутствующее во второй таблице, отсутствует в первой?
...
Рейтинг: 0 / 0
объединение таблиц
    #33471409
Еретик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
areal... UNITE ALL ...

А что такое UNITE ALL? Я знаю только UNION ALL...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE t3 FROM 
 SELECT 
           t1.id,
           COALESCE(t1.fn,t2.fn),
           COALESCE(t1.ln,t2.ln), 
           ...

 FROM t1,t2 WHERE t1.id=t2.id

Теоретически в ANSI SQL лучше было бы было, наверное, так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE t3 FROM 
 SELECT 
           COALESCE(t1.id,t2.id),
           COALESCE(t1.fn,t2.fn),
           COALESCE(t1.ln,t2.ln), 
           ...

 FROM t1 FULL JOIN t2 USING(id)

Но FULL JOIN нет в MySQL, так что будет что-то вроде
Код: plaintext
1.
2.
3.
4.
5.
6.
 ...
 LEFT OUTER JOIN 
 ...
   UNION
 ...
 RIGHT OUTER JOIN
...
Рейтинг: 0 / 0
объединение таблиц
    #33471411
Еретик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlЧто делать, в случае если значение id, присутствующее во второй таблице, отсутствует в первой?

FULL JOIN
...
Рейтинг: 0 / 0
объединение таблиц
    #33471419
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еретик DocAlЧто делать, в случае если значение id, присутствующее во второй таблице, отсутствует в первой?

FULL JOIN
Вы уверены, что знаете, что нужно тредстартеру?
...
Рейтинг: 0 / 0
объединение таблиц
    #33471444
Еретик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlВы уверены, что знаете, что нужно тредстартеру?

Тредстартер, похоже, чайник в сиквелах. А я строю догадки и даю намеки.

Уверенность ему уже денег будет стоить, так что пусть думает дальше сам :)
...
Рейтинг: 0 / 0
объединение таблиц
    #33471624
areal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, секретарша справилась в рукопашную.
...
Рейтинг: 0 / 0
объединение таблиц
    #33471777
Еретик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arealВсем спасибо, секретарша справилась в рукопашную.

Ну и правильно. А SQL - это все баловство для маленьких детей ;)
...
Рейтинг: 0 / 0
объединение таблиц
    #33471927
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два солдата из стройбата заменяют экскаватор.
...
Рейтинг: 0 / 0
объединение таблиц
    #33472123
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arealВсем спасибо, секретарша справилась в рукопашную.жестоко :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / объединение таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]