powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix v12 - Как одним запросом сделать такую выборку
3 сообщений из 3, страница 1 из 1
Informix v12 - Как одним запросом сделать такую выборку
    #39670052
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решение для MSSQL есть и работает как надо. А вот на Informix как такое сделать?
...
Рейтинг: 0 / 0
Informix v12 - Как одним запросом сделать такую выборку
    #39670055
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
Informix v12 - Как одним запросом сделать такую выборку
    #39699236
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Криво косо, но будет работать и в MSSQL и в Informix

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select t.* 
from	t1 t,
		t1_exclusive e
where	t.id = e.id
and		t.ssn = '111'
union
select t.* 
from	t1 t
where	t.ssn = '111'
and not exists
(select 1
from	t1_exclusive e,
		t1 t1
where	t1.ssn = t.ssn
and		e.id = t1.id
)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix v12 - Как одним запросом сделать такую выборку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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