оракулу запроса нужно сравнить и получить результат в одном запросе - PullRequest
1 голос
/ 16 марта 2011

У меня есть запрос, который выбирает запись из одной базы данных и вставляет ее в другую базу данных через серверы, используя скрипт.

запрос выглядит так: -

select id, date, iscomplete 
from sourcedb.test where id = '1' 
and date = '2011-03-15' and iscomplete = 1;

этот запрос возвращает мне несколькозаписи, которые я хочу, только когда есть определенное количество записей.Например: - для «2011-03-15» существует 10 записей, тогда я хочу получить эти 10 записей только тогда, когда завершено 1 для всех 10 записей.

Я не хочу жестко кодировать его, поскольку в ближайшем будущем записи могут увеличиться с 10 до 20.

Можно ли как-то изменить свой исходный запрос и проверить, является ли iscomplete = 1 для всех записейза этот день, затем извлеките записи, иначе ничего не вернет.

Мне нужно добавить еще одно условие к этому запросу: если есть 10 записей и половина из них завершена, то есть isComplete = 1, а половина из них isComplete<> 1 в этом случае я не хочу никаких выходных данных запроса до тех пор, пока вся запись не будет isComplete = 1.

С уважением, Манаси

1 Ответ

1 голос
/ 16 марта 2011

Просто сделайте следующую проверку

select id, date, iscomplete  
  from sourcedb.test 
 where id = '1'  
   and date = '2011-03-15'  
   and not exists (select 1 from sourcedb.test where id = '1' 
                   and date = '2011-03-15' and isComplete <> 1);
...