Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Blackmore Member Откуда: Сообщений: 537 |
День добрый, мой сниппет здесь 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. Как такое сделать одним запросом (можно с подзапросами)? |
5 июл 18, 12:32 [21545566] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1507 |
Blackmore, тут |
5 июл 18, 12:46 [21545640] Ответить | Цитировать Сообщить модератору |
Kopelly Member Откуда: Красноярск Сообщений: 289 |
А по-моему так |
5 июл 18, 12:57 [21545707] Ответить | Цитировать Сообщить модератору |
Kopelly Member Откуда: Красноярск Сообщений: 289 |
Не учел запрос по всем SSN - нужно так |
5 июл 18, 13:06 [21545746] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1507 |
Kopelly, В чем тайный смысл использования SIGN, если в дальнейшем всё равно проверяете лишь на IS [not] NULL ? |
5 июл 18, 13:07 [21545753] Ответить | Цитировать Сообщить модератору |
Kopelly Member Откуда: Красноярск Сообщений: 289 |
Щукина Анна, Функционально никакого - просто захотель чтобы было именно "1" |
5 июл 18, 13:21 [21545832] Ответить | Цитировать Сообщить модератору |
Kopelly Member Откуда: Красноярск Сообщений: 289 |
... как флаг эксклюзивности данного этого, или наличия эксклюзивного id по данному ssn |
5 июл 18, 13:22 [21545843] Ответить | Цитировать Сообщить модератору |
Blackmore Member Откуда: Сообщений: 537 |
Kopelly, Спасибо, то что надо. Но это было для MSSQL, а сейчас от меня хотят такого же, но на Informix. |
5 июл 18, 14:35 [21546165] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Почему бы тогда не задать вопрос а разделе по Informix??? |
||
5 июл 18, 14:42 [21546208] Ответить | Цитировать Сообщить модератору |
Blackmore Member Откуда: Сообщений: 537 |
alexeyvg, Уже задан :) Просто я тренировался с запросом на MSSQL, а потом меня "обрадовали" уточнением целевого сервера. |
5 июл 18, 14:54 [21546258] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||
5 июл 18, 15:54 [21546490] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1507 |
Blackmore, А информикс у вас «какой системы»? Если мне память не изменяет, то с версии 12.10 аналитические (оконные - в терминологии MS SQL Server-а) функции поддерживаются в объеме не меньшем, чем у скуль-сервера. В доке читать про OLAP ANALYTIC SQL FUNCTIONS |
5 июл 18, 18:31 [21547122] Ответить | Цитировать Сообщить модератору |
Blackmore Member Откуда: Сообщений: 537 |
Щукина Анна, Да, Informix 12 |
6 июл 18, 10:44 [21548515] Ответить | Цитировать Сообщить модератору |
Blackmore Member Откуда: Сообщений: 537 |
Щукина Анна, Только я не совсем понял про "оконные функции". В примере для MSSQL фигурирует CTE. |
6 июл 18, 10:45 [21548522] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1507 |
select bla-bla-bla from (тут запрос из СТЕ) as DT |
||
6 июл 18, 11:34 [21548817] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |