Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите написать красивый запрос / 5 сообщений из 5, страница 1 из 1
14.02.2014, 14:05:26
    #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
14.02.2014, 14:15:08
    #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
14.02.2014, 14:26:02
    #38561047
zvezda_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать красивый запрос
важный момент, для указанного id, не может быть больше 1 записи с type = 1.
...
Рейтинг: 0 / 0
14.02.2014, 14:28:42
    #38561051
Помогите написать красивый запрос
zvezda_t,

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


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