Возникла задача и не знаю с какой стороны к ней подступиться. Есть Postgre В БД есть 9 таблиц, в некоторых из них поля совпадают, в некоторых - нет. Нужно создать три новых таблицы, в каждую из них подпихнуть по 3 существующих из этих 9. Условие: в новых таблицах должны получиться только уникальные поля. К примеру:
Таблица А
id | street
1 | Peshkov
2 | Kalinina
3 | Broken streetlights
Таблица B
id | street | height
1 | Kutuza | 30
2 | E95 | 100
3 | Lenina | 0
4 | Main | 500
Таблица C
id | number | amount | height
1 | 5 | 55 | 101
2 | 11 | 1 | 7
Надо создать таблицу ABC, следующего вида:
id | street | height | number | amount
1 | Peshkov | NULL | NULL | NULL
2 | Kalinina | NULL | NULL | NULL
3 | Broken streetlights | NULL | NULL | NULL
4 | Kutuza | 30 | NULL | NULL
5 | E95 | 100 | NULL | NULL
6 | Lenina | 0 | NULL | NULL
7 | Main | 500 | NULL | NULL
8 | NULL | 101 | 5 | 55
9 | NULL | 7 | 11 | 1
Провести работу можно либо напрямую в БД менеджере через sql-запрос, либо с помощью Java на моё усмотрение. Подскажите, плз, в какую сторону рыть.
Залез в оф. документацию postrgre, нашёл там union! Получается следующее: 1)Пытаюсь создать общую таблицу из трёх, прицепляя их по очереди
create table line as
(
select * from a
union select * from b_networks_lines
union select * from c
);
SQL Error [42601]: ОШИБКА: все запросы в UNION должны возвращать одинаковое число столбцов
Если задача разовая, то можно выполнить все просто запросами. На мой взгляд ваш подход верен. Просто в запросе необходимо привести в соответствие количество и порядок столбцов выбираемых в новую таблицу. Например:
select
a.1
null
null
null
from a union
select
b.1
b.2
null
null
from b union
select
null
с.3
c.1
c.2 from c
Сделал немного дубовым способом: 1 взял самую "широкую" таблицу
create table abc as select * from c
дополнил её полями, существующими в других.
Потом инсертами зафигачил:
insert into abc (street, height) select street, height from b;
insert into abc (street) select street from a;
как-то так. Что делать, если полей и таблиц будет под сотню - думаю надо будет через жаву автоматизировать.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет, есть сайт, при попытке запустить с консоли команду java -jar target/dependency/webapp-runnerjar --session-store memcache target/*
В следующем коде я ожидаю, что при нажатии на кнопку отобразится текст из трех строкОднако, после нажатия появляется одна строка Some text<br>Some...