powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Упростить запрос
5 сообщений из 5, страница 1 из 1
Упростить запрос
    #39899521
TylerDerdon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть таблицы users и info, ustr. В таблице info есть три поля в которых содержаться id пользователей из таблицы ustr, которая связана с users, из которой можно получить имена пользователей. Соответственно для получения имен пользователей используется такой запрос:
select u1.name, u2.name, u3.name from info i
left join ustr ustr1 on i.user1_id = ustr1.u_id
left join users u1 on ustr1.u_id = u1.id
left join ustr ustr2 on i.user2_id = ustr2.u_id
left join users u2 on ustr2.u_id = u2.id
left join ustr ustr3 on i.user3_id = ustr3.u_id
left join users u3 on ustr3.u_id = u3.id

Можно ли как-то упростить этот запрос?
...
Рейтинг: 0 / 0
Упростить запрос
    #39899550
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TylerDerdon,

Код: sql
1.
2.
3.
4.
5.
select u1.name, u2.name, u3.name
from info i
left join users u1 on i.user1_id = u1.id
left join users u2 on i.user2_id = u2.id
left join users u3 on i.user3_id = u3.id
...
Рейтинг: 0 / 0
Упростить запрос
    #39899581
TylerDerdon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, немного промахнулся когда запрос писал. Вот правильная версия:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select u1.name, u2.name, u3.name from info i 
left join ustr ustr1 on i.user1_id = ustr1.u_id
left join users u1 on ustr1.user_id = u1.id
left join ustr ustr2 on i.user2_id = ustr2.u_id
left join users u2 on ustr2.user_id = u2.id
left join ustr ustr3 on i.user3_id = ustr3.u_id
left join users u3 on ustr3.user_id = u3.id
...
Рейтинг: 0 / 0
Упростить запрос
    #39899722
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TylerDerdon
Сорри, немного промахнулся когда запрос писал. Вот правильная версия:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select u1.name, u2.name, u3.name from info i 
left join ustr ustr1 on i.user1_id = ustr1.u_id
left join users u1 on ustr1.user_id = u1.id
left join ustr ustr2 on i.user2_id = ustr2.u_id
left join users u2 on ustr2.user_id = u2.id
left join ustr ustr3 on i.user3_id = ustr3.u_id
left join users u3 on ustr3.user_id = u3.id



А что значит упростить и главное зачем?
...
Рейтинг: 0 / 0
Упростить запрос
    #39899891
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TylerDerdon,

Тут не запрос упрощать нужно, а структуру таблиц нормализовать.
Если, конечно, это реальная задача, а не домашка по информатике
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Упростить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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