powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно ли как то вывернуться? (SELECT JOIN)
5 сообщений из 5, страница 1 из 1
Можно ли как то вывернуться? (SELECT JOIN)
    #38685467
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такие таблицы
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
CREATE TABLE table1
(
id bigserial Primary Key Unique,
label text,
a integer,
b integer,
depend_a integer,
depend_b integer
)

CREATE TABLE table_a
(
id bigserial Primary Key Unique,
label text
)

CREATE TABLE table_b
(
id bigserial Primary Key Unique,
label text
)

CREATE TABLE table_depend_a
(
id bigserial Primary Key Unique,
label text
)

CREATE TABLE table_depend_b
(
id bigserial Primary Key Unique,
label text
)

Таблицы Table_A и Table_B содержат одинаковые текстовые данные, которые соответствуют значения из Table1 колонок A и B
Таблицы Table_depend_A и Table_depend_B содержат одинаковые текстовые данные, которые соответствуют значения из Table1 колонок depend_A и depend_B

Запросом в базу получаю данные с текстовыми метками
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT
table1.label,
table_a,
table_b,
table_depend_a,
table_depend_b
FROM table1
JOIN table_a ON table_a.id=table1.a
JOIN table_b ON table_b.id=table1.b
JOIN table_depend_a ON table_depend_a.id=table1.depend_a
JOIN table_depend_b ON table_depend_b.id=table1.depend_b

Отсюда вопрос!
Можно ли как то вывернуться, так что бы не хранить в базе таблицы "table_b" и "table_depend_b",
а неизвестной мне конструкцией сделать так что бы при выводе данных из "table_a" и "table_depend_a" значения ее привязывались
к "table1.a", "table1.b", "table1.depend_a", "table1.depend_b",
...
Рейтинг: 0 / 0
Можно ли как то вывернуться? (SELECT JOIN)
    #38685508
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE TABLE table1
(
id bigserial Primary Key Unique,
label text,
a integer,
b integer,
depend_a integer,
depend_b integer
)

CREATE TABLE table_ab
(
id bigserial Primary Key Unique,
label text
)

CREATE TABLE table_depend_ab
(
id bigserial Primary Key Unique,
label text
)


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT
table1.label,
table_a,
table_b,
table_depend_a,
table_depend_b
FROM table1
JOIN table_ab AS table_a ON table_a.id=table1.a
JOIN table_ab AS table_b ON table_b.id=table1.b
JOIN table_depend_ab AS table_depend_a ON table_depend_a.id=table1.depend_a
JOIN table_depend_ab AS table_depend_b ON table_depend_b.id=table1.depend_b
...
Рейтинг: 0 / 0
Можно ли как то вывернуться? (SELECT JOIN)
    #38685515
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПАСИБО ОГРОМНОЕ!

Я в шоке как можно извернуться. Я поражен гибкостью.
Блин я еще много чего не знаю.
Есть ли какой-нибудь задачник по SQL запросам, что бы какие то замудреные были и с ответами и пояснениями?
...
Рейтинг: 0 / 0
Можно ли как то вывернуться? (SELECT JOIN)
    #38685549
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
документация
I. Tutorial
II. The SQL Language

вот ваш случай
7.2.1.2. Table and Column Aliases
Table aliases are mainly for notational convenience, but it is necessary to use them when joining a table to itself, e.g.:
SELECT * FROM people AS mother JOIN people AS child ON mother.id = child.mother_id;
...
Рейтинг: 0 / 0
Можно ли как то вывернуться? (SELECT JOIN)
    #38685762
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crause,

www.sql-ex.ru
Даже нерейтинговые задачки сильно качают скил join'ов.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно ли как то вывернуться? (SELECT JOIN)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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