powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Написание Exists
10 сообщений из 10, страница 1 из 1
Написание Exists
    #39440682
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро. Есть n-кол-во таблиц, при формировании выгрузки получаю параметры ACT_ID, ACT_TYPE,SERIAL_ID.
Сформировал таблицу в exists, дабы найти все ACT_TYPE определенного вида.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select ACT_ID,ACT_TYPE,SERIAL_ID
from my_table m
where exists
(
select * from my_table1 m1
where m.ACT_TYPE=4--тип нужного акта
and m1.ACT_ID=m.ACT_ID
)


Результат выдает все значения, а нужно получить только те, где есть акты с типом=4(возврат, к примеру). То есть увидеть акты приема, передачи только в том случае, если по данному железу был акт возврата.
Помогите, плиз, найти ошибку в exists'е. Буду очень признателен.
...
Рейтинг: 0 / 0
Написание Exists
    #39440691
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector
Код: plsql
1.
2.
from my_table1 m1
where m.ACT_TYPE=4

Указывать фильтр на правильном уровне.
...
Рейтинг: 0 / 0
Написание Exists
    #39440697
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, виноват, конечно там m1. Важна сама суть, не понимаю, почему запрос возвращает все, когда в подзапросе четкое ограничение.
...
Рейтинг: 0 / 0
Написание Exists
    #39440702
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflectorпочему запрос возвращает все, когда в подзапросе четкое ограничение.По my_table тип не ограничен. У тебя проблемы с элементарным SQL?
...
Рейтинг: 0 / 0
Написание Exists
    #39440704
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем его ограничивать по my_table? Я хочу увидеть все акты по всем железкам, но где был сделан возврат.
Какого типа должно в таком случае быть ограничение в основном запросе?
...
Рейтинг: 0 / 0
Написание Exists
    #39440730
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflectorпо всем железкамТы чересчур шифруешься my_table-ами. http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Написание Exists
    #39440747
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, Я бы рад не шифроваться, но описать все таблицы очень долго) Хотел наиболее сжато передать код.
Суть вроде понятна. Просто если ограничивать главный запрос, не увижу информации по нужным актам. Вот и хочется увидеть все железо, что было возвращено. Условно говоря, если ACT_TYPE<>4, то не должно быть ни одной записи. А если =4, то выдать весь список для каждой железки.
...
Рейтинг: 0 / 0
Написание Exists
    #39440748
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
select act_id,act_type,serial_id
from my_table m
where m.act_type = 4--тип нужного акта
and   m.act_id in (select m1.act_id from my_table1 m1);
...
Рейтинг: 0 / 0
Написание Exists
    #39440758
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad,
Спасибо) зациклился я на exists. Сам уже начал догадываться,но Вы правы)
...
Рейтинг: 0 / 0
Написание Exists
    #39440762
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReflectorAmKad,
Спасибо) зациклился я на exists. Сам уже начал догадываться,но Вы правы) 20413465
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Написание Exists
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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