powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как одним запросом сделать такую выборку
15 сообщений из 15, страница 1 из 1
Как одним запросом сделать такую выборку
    #39669977
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый, мой сниппет здесь
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table t1(id int, name varchar(10), ssn int)
create table t1_exclusive(id int)
insert into t1(id,name,ssn) values 
 (1,'A',111)
,(2,'B',222)
,(3,'C',111)
,(4,'D',333)
,(5,'E',444)
,(6,'F',555)
,(7,'G',222)
,(8,'H',777)
,(9,'I',888)
,(10,'J',999)

insert into t1_exclusive(id) values(2)



Теперь select с where t1.ssn=222 должен вернуть:

id name ssn
2 B 222

с where t1.ssn=111 должен вернуть:

id name ssn
1 А 111
3 С 111

А без фильтрации по ssn должен вернуть все записи из t1. Как такое сделать одним запросом (можно с подзапросами)?
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39669982
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmore,

тут
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39669987
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему так
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39669992
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не учел запрос по всем SSN - нужно так
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39669994
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kopelly,

В чем тайный смысл использования SIGN, если в дальнейшем всё равно проверяете лишь на IS [not] NULL ?
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670004
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Функционально никакого - просто захотель чтобы было именно "1"
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670007
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... как флаг эксклюзивности данного этого, или наличия эксклюзивного id по данному ssn
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670057
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kopelly,

Спасибо, то что надо. Но это было для MSSQL, а сейчас от меня хотят такого же, но на Informix.
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670066
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackmoreKopelly,

Спасибо, то что надо. Но это было для MSSQL, а сейчас от меня хотят такого же, но на Informix.
Почему бы тогда не задать вопрос а разделе по Informix???
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670081
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

Уже задан :) Просто я тренировался с запросом на MSSQL, а потом меня "обрадовали" уточнением целевого сервера.
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670143
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmoreа потом меня "обрадовали" уточнением целевого сервера.Однако :-)
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670237
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmore,

А информикс у вас «какой системы»?
Если мне память не изменяет, то с версии 12.10 аналитические (оконные - в терминологии MS SQL Server-а) функции поддерживаются в объеме не меньшем, чем у скуль-сервера.
В доке читать про OLAP ANALYTIC SQL FUNCTIONS
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670523
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Да, Informix 12
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670524
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Только я не совсем понял про "оконные функции". В примере для MSSQL фигурирует CTE.
...
Рейтинг: 0 / 0
Как одним запросом сделать такую выборку
    #39670581
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackmoreЩукина Анна,

Только я не совсем понял про "оконные функции". В примере для MSSQL фигурирует CTE.в данном случае СТЕ - не более, чем "синтаксический сахар" и вполне себе заменяется на derived table:

select bla-bla-bla from (тут запрос из СТЕ) as DT
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как одним запросом сделать такую выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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