powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Informix [игнор отключен] [закрыт для гостей] / Sql-запрос
13 сообщений из 13, страница 1 из 1
Sql-запрос
    #36576185
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица 1 (поля НОМЕР и ДАТА).
Есть таблица 2 (поля НОМЕР и ДАТА).

Нужно получить таблицу 3 (поля НОМЕР и ДАТА), которая содержит все те значения из первой таблицы, которых нет во второй.

В голову ничего не приходит как:
объединить поля в одну текстовую строку и использовать оператор (not in).

Есть ли более простой способ?
...
Рейтинг: 0 / 0
Sql-запрос
    #36576208
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
select t1.НОМЕР, t1.ДАТА 
from таблица1 t1
where not exists (select  1  from таблица2 t2 where t1.НОМЕР=t1.НОМЕР and t1.ДАТА=t2.ДАТА)

либо

Код: plaintext
1.
2.
3.
select  t1.НОМЕР, t1.ДАТА 
from таблица1 t1 left outer join таблица2 t2 on (t1.НОМЕР=t2.НОМЕР and t1.ДАТА=t2.ДАТА)
where  t2.НОМЕР is null and t2.ДАТА  is null
...
Рейтинг: 0 / 0
Sql-запрос
    #36576531
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А будет ли работать такой запрос:

Код: plaintext
1.
2.
select t1.НОМЕР, t1.ДАТА 
from таблица1 t1
where t1.НОМЕР||t1.ДАТА not in (select t2.НОМЕР||t2.ДАТА from таблица2 t2)
...
Рейтинг: 0 / 0
Sql-запрос
    #36576537
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работать будет, но, возможно, даст неверные результаты, если конкатенируются разные типы, или если одно из значений равно NULL.
...
Рейтинг: 0 / 0
Sql-запрос
    #36576925
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть дата date1.

Есть таблица Tabl с полем date.

Как выбрать из таблицы Tabl такую дату, которая будет больше date1, но при этом будет минимальна.

То есть в таблице есть даты и больше и меньше date1, но нужно выбрать слудующую за датой date1.

Будет ли правильным такой запрос:

Код: plaintext
1.
2.
Select min(date)
From Tabl t
Where (t.date > date1)
...
Рейтинг: 0 / 0
Sql-запрос
    #36576984
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khod
Будет ли правильным такой запрос:
будет

Если нужна вся строка, то

Код: plaintext
1.
2.
3.
Select /*+first_rows*/ first  1  *
From Tabl t
Where (t.date > date1)
order by t.date
...
Рейтинг: 0 / 0
Sql-запрос
    #36578014
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица t1 (date1, date2).
Есть таблица t2 (date3).
date1, date2, date3 - тип ДАТА.

Нужно выбрать из t1 такие значения, которые
date2 - date1 > 1
и между date1 и date2 есть по крайней мере одно значение, которое не входит в перечень date3.

Я работаю на реальной базе. Мне нужно исключить выходные и праздничные дни. Как раз в таблице t2 они и хранятся.
...
Рейтинг: 0 / 0
Sql-запрос
    #36578053
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select	t1.date1,
		t1.date2
from	t1
where	t1.date2-t1.date1>
		(select count( 1 ) 
		from	t2 
		where	t2.date3 between t1.date1 and t1.date2)

...
Рейтинг: 0 / 0
Sql-запрос
    #36578071
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
select *
from t1
where date1<date2- 1  and date2-date1 > select count(*) from t2 where date3 between date1 and date2


Плохое решение с таблицей t2, сделайте таблицу календарь где будут все дни, а праздники будут помечены
http://www.sql.ru/forum/actualthread.aspx?tid=13716
...
Рейтинг: 0 / 0
Sql-запрос
    #36603502
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После того, как начал пользовать ся программой, изображённой на рисунке ниже, не даёт выполнить такой запрос:

Код: plaintext
1.
2.
3.
4.
Select (сам запрос)
Into temp t1;
Select *
From t1;
Drop table t1

Пишет -958 SQL error: Temp table (t1) already exists in session.

Что я делаю не так?

Из под старого SqlExplorera такие запросы всегда выполнялись.
...
Рейтинг: 0 / 0
Sql-запрос
    #36603927
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khod, вы после коннекта уже выполняли запрос ... into temp - но явно не выполнили drop
сделайте теперь drop а потом ... into temp
...
Рейтинг: 0 / 0
Sql-запрос
    #36717970
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица 1 (дата1, дата2).
Есть таблица 2 (дата3, дата4).
дата1 < дата2
дата3 < дата4
дата1 и дата2 не нулевые.
дата2 и дата4 могут быть нулевыми.

Нужно получить таблицу 3 (дата1, дата2, дата3, дата4)
когда промежутки времени (дата1, дата2) и (дата3, дата4) включают хотя бы 1 одинаковый день.
...
Рейтинг: 0 / 0
Sql-запрос
    #36718145
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KhodЕсть таблица 1 (дата1, дата2).
Есть таблица 2 (дата3, дата4).
дата1 < дата2
дата3 < дата4
дата1 и дата2 не нулевые.
дата2 и дата4 могут быть нулевыми.

Нужно получить таблицу 3 (дата1, дата2, дата3, дата4)
когда промежутки времени (дата1, дата2) и (дата3, дата4) включают хотя бы 1 одинаковый день.


select *
from таблица_1, таблица_2
where дата3 between (дата1, дата2) or дата4 between (дата1, дата2)

http://www.sql.ru/forum/actualthread.aspx?tid=475528
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Sql-запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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