Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите с запросом  [new]
Vs_vod
Member

Откуда:
Сообщений: 5
Здравствуйте! Давно не писала запросы, помогите, пож-та , разобраться
Даны таблицы
t1
номер владелец
num id
12 1
78 2
69 3

t2
владелец начало_диап конец_диапазона дата
id start_num end_num date
1 1 15 19.11.2010
1 20 25 19.11.2010
2 70 80 19.11.2010
3 60 69 19.11.2010
Необходимо выбрать из t1 строки, у которых номер (num) входит в диапазон из t2 и дата=19.11
Надо что-то типа этого
select * from t1 where t1.num between (select t2.start_num from t2
where to_char(t2.date,'dd.mm.yyyy') like '19.11.2010' ) and (select t2.end_num from t2
where to_char(t2.date,'dd.mm.yyyy') like '19.11.2010' ) and t1.id=t2.id
такой запрос конечно же выдает ошибку: запрос выдает много записей
19 ноя 10, 11:54    [9806918]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
Vs_vod,

select *
from t1
where exists(select 1 from t2 where id = t1.id and date1 between ....)
19 ноя 10, 11:59    [9806960]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Vs_vod
Member

Откуда:
Сообщений: 5
comphead
Vs_vod,

select *
from t1
where exists(select 1 from t2 where id = t1.id and date1 between ....)

а где указать диапазон?
19 ноя 10, 12:00    [9806975]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
Vs_vod
comphead
Vs_vod,

select *
from t1
where exists(select 1 from t2 where id = t1.id and date1 between ....)

а где указать диапазон?


там где точечки
19 ноя 10, 12:02    [9806999]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
Vs_vod
comphead
Vs_vod,

select *
from t1
where exists(select 1 from t2 where id = t1.id and date1 between ....)

а где указать диапазон?




select *
from t1
where exists(select 1 from t2 where id = t1.id and t1.num between 12 and 15 and date1 between ....)
19 ноя 10, 12:03    [9807002]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Vs_vod
Member

Откуда:
Сообщений: 5
comphead
Vs_vod
пропущено...

а где указать диапазон?




select *
from t1
where exists(select 1 from t2 where id = t1.id and t1.num between 12 and 15 and date1 between ....)

я exists не использовала еще :-( попытаюсь разобраться. Спасибо!
19 ноя 10, 12:05    [9807025]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Vs_vod
Member

Откуда:
Сообщений: 5
comphead
Vs_vod,

select *
from t1
where exists([b]select 1 [/b]from t2 where id = t1.id and date1 between ....)

А я правильно понимаю , то select 1=select t2.id?
19 ноя 10, 12:14    [9807124]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
Vs_vod
comphead
Vs_vod,

select *
from t1
where exists([b]select 1 [/b]from t2 where id = t1.id and date1 between ....)

А я правильно понимаю , то select 1=select t2.id?


немного не понял
19 ноя 10, 12:37    [9807335]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Vs_vod
Member

Откуда:
Сообщений: 5
comphead
Vs_vod
пропущено...

А я правильно понимаю , то select 1=select t2.id?


немного не понял

извиняюсь, разобралась с Exists и все поняла. Огромное спасибо!!!!
19 ноя 10, 12:38    [9807345]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить