420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518

Объединение трех одинаковых таблиц по одному полю

15.10.2016, 21:20. Показов 2575. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Гуру, подскажите куда копать! (давно не составлял сложных запросов - срочно должен вспомнить/научиться)

3 таблицы

имя | значение
a | 111
b | 111

имя | значение
a | 222
c | 222

имя | значение
b | 333
c | 333

Надо получить

имя | зн1 | зн2 | зн3
a | 111 | 222 | --- |
b | 111 | --- | 333 |
c | --- | 222 | 333 |

(попытка обьединить через FULL OUTER JOIN привела с сдваиванию строк с одним именем)

---------------

ИЛИ (изначальная задача)

таблица
a/b/c | зн1/зн2/зн3 | 111/222/333

Надо получить (все то-же) - по 3м значениям (зн1/зн2/зн3 - фиксированным) получить развернутую по столбцам таблицу

имя | зн1 | зн2 | зн3
a | 111 | 222 | --- |
b | 111 | --- | 333 |
c | --- | 222 | 333 |

селектами получил 3 таблицы, а обьединить их снова не могу... Может какая-то конструкция специально для этого предназначена?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2016, 21:20
Ответы с готовыми решениями:

Как просто вытащить по одному полю с максимальным значением из 2-x разных таблиц в postgres?
Вот так не получилось: SELECT MAX(t_places.sys_date_update) , MAX(t_category_cargo.sys_date_update) FROM t_places ...

Соединение 3 таблиц по одному полю
Есть таблица table1 (id,kod,opisanie), она главная, и есть 2 справочника table2(kod,name) и table3(kod,name). Возможно соединить таблицы...

Объединение строк с суммированием по одному полю таблицы, если остальные совпадают
Добрый день! Появилась такая задача, нужно обрабатывать базы данных с объемом перевозок, для дальнейшего анализа информации. Месячная база...

2
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
16.10.2016, 05:39
попарно join'ить попробуйте
SQL
1
2
3
4
5
SELECT 
COALESCE(t1t2.name, t3.name), t1_data, t2_data, t3.data
FROM
(SELECT COALESCE(t1.name, t2.name) AS name, t1.data AS t1_data, t2.data t2_data
FROM t1 FULL OUTER JOIN t2 ON t1.name = t2.name) t1t2 FULL OUTER JOIN t3 ON t1t2.name = t3.name;
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
16.10.2016, 06:18  [ТС]
уже подсказали решение. Сначала получают таблицу только с name, а потом через LEFT JOIN присоединяют значения по фильтрам, задавая новое имя столбцам. Потом все это выодят убирая null из не новых столбцов через COALESCE(t2_data, 0)..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2016, 06:18
Помогаю со студенческими работами здесь

Можно ли связывать несколько таблиц с главной таблицей по одному ключевому полю.
Всем привет! У меня несколько таблиц связанно с главной таблицей с одним ключевым полем один-ко-многим. Данные в таблицы попадают из...

Объединение трех таблиц
Добрый день. Подскажите пожалуйста как правильно составить запрос на обьединение из трех таблиц. С двумя таблица знаю как сделать, с 3мя...

Объединение (суммирование) одинаковых таблиц
Доброго дня! Есть такой запрос: for($i = 1; $i <=18; $i++){ $query="SELECT * FROM 2011_r_".$i." UNION SELECT * FROM...

Объединение трех таблиц в одну
Есть три таблицы с данными по материалам-"остатки","приход" и "расход",в которую записываются данные по индивидуальным кодам материалы из...

Из трех таблиц перенести строки в одну, собрав по ключевому полю, как?
Здравствуйте! Помогите. Есть три таблицы 1,2,3. Количество столбцов одинаковое. Как сделать так, чтобы данные из трех таблиц...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru