2013-11-19 3 views
0

Я - английский главный, спотыкающийся о очень простой SQL-материал. Я получил в follwing два заявления возвращающих результатов, которые необходимы (оба из той же таблицы):Та же таблица, два утверждения, нужна разница между двумя

select * 
from Table1 
where Column1 = 'Examplel' and UniqueID is not null 
order by UniqueID2 

(2000 строк вернулись)

select * 
from Table1 
where Column1 = 'Examplel' 
and ColumnDATE between '2008-02-12 00:00:00.000' and '2013-08-15 00:00:00.000' 
order by UniqueID2 

(2001)

Мне нужно найти одну строку различия, предпочтительно без прокрутки и сравнения всех строк в обоих результатах. Помогите?

+0

Try: 'second_query минус first_query' (удалить "заказ" это не обязательно) – alfasin

ответ

1

Выполнить все это как одно заявление:

select * from Table1 where Column1 = 'Examplel' and UniqueID is not null order by UniqueID2 

except 

select * from Table1 where Column1 = 'Examplel' and ColumnDATE between '2008-02-12 00:00:00.000' and '2013-08-15 00:00:00.000' order by UniqueID2 

Затем запустить реверс:

select * from Table1 where Column1 = 'Examplel' and ColumnDATE between '2008-02-12 00:00:00.000' and '2013-08-15 00:00:00.000' order by UniqueID2 

except 

select * from Table1 where Column1 = 'Examplel' and UniqueID is not null order by UniqueID2 
1
select * 
from Table1 
where Column1 = 'Examplel' 
and ColumnDATE between '2008-02-12 00:00:00.000' and '2013-08-15 00:00:00.000 
and UniqueID is null 
order by UniqueID2 
+0

+1 да, это тоже должно работать :) (и намного эффективнее, чем предлагаемое выше решение) – alfasin

+0

Итак, из подсчета мы знаем, что есть один отчет о различиях, но нужно учитывать, что у вас может быть два момента re "diff", по одному в каждом запросе, которые не отображаются в счете. Один с UniqueId = 5, ColumnDate = 2000-02-12, а другой с UniqueId = null, ColumnDate = 2012-01-01. Каждый из них находится в одном из запросов и, следовательно, является diff, но первый не будет отображаться в этом запросе. Возможно, это не проблема для вас, а что-то для рассмотрения. – AaronLS

+0

Да, я это рассмотрел. – MarcinJuraszek

Смежные вопросы