powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите написать красивый запрос
5 сообщений из 5, страница 1 из 1
Помогите написать красивый запрос
    #38561009
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть табличка:
id type name1 1 вася1 null петя1 null саша2 null таня2 null света3nullандрей41катя

Мне нужно написать запрос, который выполнит проверку:
если для указанного id существует только 1 запись, при этом type = 1, то вернуть true
иначе false

То есть в этом примере true , будет только для id = 4

Мне в голову приходят только вложенный подзапрос... Может есть более красивое решение?
...
Рейтинг: 0 / 0
Помогите написать красивый запрос
    #38561032
AndreiSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zvezda_t,

Код: sql
1.
2.
3.
select count(*) = 1 and min(type_id) = 1
  from t
 where id = <id>



PS имхо не корректно называть поле "id", если в нем не уникальные значения
...
Рейтинг: 0 / 0
Помогите написать красивый запрос
    #38561047
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
важный момент, для указанного id, не может быть больше 1 записи с type = 1.
...
Рейтинг: 0 / 0
Помогите написать красивый запрос
    #38561051
zvezda_t,

оконные функции ( count(1) over(partition by ID) ) + CASE = запрос в один проход, без подзапросов.
...
Рейтинг: 0 / 0
Помогите написать красивый запрос
    #38561052
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreiSQL, спасибо!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите написать красивый запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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