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

groups
+++++++++++++
groupid + name
+++++++++++++
71 + Лесная
72 + Поповка
73 + Речная
74 + Малиновая

hosts_groups
++++++++++++++++++++++++
hostgroupid + hostid + groupid
++++++++++++++++++++++++
51 + 1044 + 73
52 + 1044 + 72
53 + 1053 + 71
54 + 1061 + 74

Нужно вставить в поле alias таблицы host_inv соответствующие имена из таблицы groupid, а там где согласно таблице host_groups у одного поля hostid несколько совпадений, нужно добавить их через пробел в поле alias таблицы host_inv

То есть таблица host_inv должна выглядеть так после копирования данных в нее:

host_inv
+++++++++++++++++++++
hostid + alias
+++++++++++++++++++++
1044 + Речная Поповка
1053 + Лесная
1061 + Малиновая

Помогите, пожалуйста, нужно сделать а с mysql я на уровне самых простых селектов сталкивался=)
Спасибо!
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465126
alexsw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного упростил себе задачу создал временную таблицу которая выглядит так

temp_table
++++++++++++++++++++++++
id + hostid + groupid + name
++++++++++++++++++++++++
1 + 1044 + 73 + Речная
2 + 1044 + 72 + Поповка
3 + 1053 + 71 + Лесная
4 + 1061 + 74 + Малиновая

Теперь не соображу как таблицу host_inv

host_inv
+++++++++++
hostid + alias
+++++++++++
1044 +
1053 +
1061 +

Преобразовать к такому виду(hostid в этой таблице уникальное, hostid в таблице temp_table не уникально)

host_inv
+++++++++++++++++++++
hostid + alias
+++++++++++++++++++++
1044 + Речная Поповка
1053 + Лесная
1061 + Малиновая

Подскажите как подступиться уже второй день голову ломаю=)
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465148
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
insert into host_inv (hostid, alias)
select hosts_groups.hostid, group_concat(groups.name separator ' ')
from groups, hosts_groups
where groups.groupid = hosts_groups.groupid 
group by hosts_groups.hostid
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465456
alexsw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
выдает ошибку #1062 - Duplicate entry '1044' for key 'PRIMARY'
Судя по всему проблема в том что поле hostid в host_inv уже есть(и заполнено) мне его записывать не нужно, нужно сопоставить с hostid в других таблицах и вставить данные в поле alias.
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465521
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит, надо думать, что у тебя есть и что же тебе на самом деле надо, прежде чем формулировать задачу.
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465538
alexsw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Прошу прощения, если ввел в заблуждение...
Есть такие таблицы


groups
+++++++++++++
groupid + name
+++++++++++++
71 + Лесная
72 + Поповка
73 + Речная
74 + Малиновая

hosts_groups
++++++++++++++++++++++++
hostgroupid + hostid + groupid
++++++++++++++++++++++++
51 + 1044 + 73
52 + 1044 + 72
53 + 1053 + 71
54 + 1061 + 74

host_inv
++++++++++
hostid + alias
++++++++++
1044 +
1053 +
1061 +

Нужно заполнить поле alias в таблице host_inv вот таким образом:

host_inv
+++++++++++++++++++++
hostid + alias
+++++++++++++++++++++
1044 + Речная Поповка
1053 + Лесная
1061 + Малиновая
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38465693
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
update 
    host_inv
,   (
    select hosts_groups.hostid hostid, group_concat(groups.name separator ' ') alias
    from groups, hosts_groups
    where groups.groupid = hosts_groups.groupid 
    group by hosts_groups.hostid
    ) subquery
set
    host_inv.alias = subquery.alias
where 
    host_inv.hostid = subquery.hostid
...
Рейтинг: 0 / 0
Помогите с запросом, копирование данных из одной таблицы в другую.
    #38466856
alexsw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
update 
    host_inv
,   (
    select hosts_groups.hostid hostid, group_concat(groups.name separator ' ') alias
    from groups, hosts_groups
    where groups.groupid = hosts_groups.groupid 
    group by hosts_groups.hostid
    ) subquery
set
    host_inv.alias = subquery.alias
where 
    host_inv.hostid = subquery.hostid



Спасибо, очень помогли. Еще немного допилил ваш запрос под себя, и стало самое то=)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом, копирование данных из одной таблицы в другую.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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