powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / фильтрация в запросе
10 сообщений из 10, страница 1 из 1
фильтрация в запросе
    #39560927
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, доброй ночи! Прошу помочь)


Есть таблица T1 с расписаниями (их дата действия и тд и тп), есть вторая таблица T2, где хранятся номера остановок для каждого расписания. Проблема в том, что если расписание имеет 5 остановок, то будет 5 строк, и в каждой строке будет прописан номер остановки и локация.



Например, расписание АВТО1
ID расписания № остановки Индекс
Москва-Казань . 1 11111
Москва-Казань . 2 2222

Каждая остановка в каждом расписании имеет порядковый номер. Ожидаемый результат: выгружены только те расписания со всеми остановками дальнейшими, номер остановки которых (stop_number) = 1, его индекс (location_gid) = 111111.


Полученный результат: выводит все строки, где первая остановка с локацией 11111. Остальные локации не выводит

Запрос был такой : 


Код: plsql
1.
2.
3.
4.
5.
[color=blue]select[/color] *
from[/color] T1, T2
where[/color] T1.x=T2.y
and [/color]T2. STOP_NUMBER = '1'
and[/color] T2.location_gid in ('[color=green]111111[/color]') 
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39560937
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто на ком стоял?

Вопрос-то в чём?

кнопка SRC -> oracle, внутрь код:
Код: plsql
1.
2.
3.
4.
5.
select *
from T1, T2
where T1.x=T2.y
and T2.STOP_NUMBER = '1'
and T2.location_gid in ('111111')
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39560946
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если правильно понял, вывести все расписания и все их остановки, где есть первая остановка с location_gid in ('111111'), то нужно:
Код: plsql
1.
2.
3.
4.
5.
select *
from T1, T2
where T1.x=T2.y
and exists (select 1 from T3 where T3.y = T2.y and T3.STOP_NUMBER = 1  --T3 - это алиас T2
and T3.location_gid ='111111')


Если вывести все расписания, но без первой остановки, то
Код: plsql
1.
2.
3.
4.
5.
6.
select *
from T1, T2
where T1.x=T2.y
and exists (select 1 from T3 where T3.y = T2.y and T3.STOP_NUMBER = 1  --T3 - это алиас T2
and T3.location_gid = '111111')
and T2.TOP_NUMBER > 1
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561098
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!)
да, я про первый случай, не могла мысли в кучу вчера ночью собрать)

а что такое алиас ?
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561099
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, откуда взялась 3 таблица :(


FogelЕсли правильно понял, вывести все расписания и все их остановки, где есть первая остановка с location_gid in ('111111'), то нужно:
Код: plsql
1.
2.
3.
4.
5.
select *
from T1, T2
where T1.x=T2.y
and exists (select 1 from T3 where T3.y = T2.y and T3.STOP_NUMBER = 1  --T3 - это алиас T2
and T3.location_gid ='111111')


Если вывести все расписания, но без первой остановки, то
Код: plsql
1.
2.
3.
4.
5.
6.
select *
from T1, T2
where T1.x=T2.y
and exists (select 1 from T3 where T3.y = T2.y and T3.STOP_NUMBER = 1  --T3 - это алиас T2
and T3.location_gid = '111111')
and T2.TOP_NUMBER > 1
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561122
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LitwaСпасибо!)
да, я про первый случай, не могла мысли в кучу вчера ночью собрать)

а что такое алиас ?

Алиас - это такая штука, которую можно вбить в поиск и найти описание на доступном языке ...

Собирайте мысли в кучу и пользуйтесь поиском.
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561126
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FogelLitwaСпасибо!)
да, я про первый случай, не могла мысли в кучу вчера ночью собрать)

а что такое алиас ?

Алиас - это такая штука, которую можно вбить в поиск и найти описание на доступном языке ...

Собирайте мысли в кучу и пользуйтесь поиском.


Спасибо!)
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561252
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FogelLitwaСпасибо!)
да, я про первый случай, не могла мысли в кучу вчера ночью собрать)

а что такое алиас ?

Алиас - это такая штука, которую можно вбить в поиск и найти описание на доступном языке ...

Собирайте мысли в кучу и пользуйтесь поиском.



Вывед все расписания, несмотря на то, что остановка 11111 не первая, а восьмая или 10-ая(
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39561509
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LitwaВывед все расписания, несмотря на то, что остановка 11111 не первая, а восьмая или 10-ая(
не совсем понятно что надо

подготовте тестовые данные (напр с помощью with)
и сообщите что надо получить

ps
мож и решение придет само собой

....
stax
...
Рейтинг: 0 / 0
фильтрация в запросе
    #39562223
Litwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

пришло) спасибо за отзывчивость!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / фильтрация в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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