|
Как выполнить сравнение двух таблиц (результатов запросов) |
☑ |
0
Alsh
20.06.07
✎
17:00
|
Всем привет!
Есть два запроса
Первый запрос выводит поле Размер1
Второй запрос выводит поле Размер2
Вопрос:
Как ПРАВИЛЬНО провести сравнение результатов этих запросов и в результирующую таблицу вывести только те значения, которые НЕ ВОШЛИ в результаты обоих запроса. Т.е. те значения которые:
1. вошли в результат первого запроса, но не вошли в результат второго,
2. вошли в результат второго запроса, но не вошли в результат первого.
Заранее спасибо!
|
|
1
klass
20.06.07
✎
17:03
|
берешь общую кучу и сравнив с Размер 1, если совпало, то выбрасываешь и т.д., далее оставшуюся кучу с Размер2 и аналогично, оставшаяся куча необходимые данные
|
|
2
sapphire
20.06.07
✎
17:06
|
(0) Прочитай про объединения (join) запросов, можно даже SQL
|
|
3
Alsh
20.06.07
✎
21:36
|
(1) так я сам умею, но чувствую, что это не совсем правильно..
(2) ОБЪЕДИНИТЬ или ОБЪЕДИНИТЬ ВСЕ - просто объединяют, а соединения такого нет. Чувствую, что нужно через NULL, но чет мозг дальше не хочет думать....
|
|
4
Alsh
20.06.07
✎
21:43
|
Наверное нужно сделать ПОЛНОЕ СОЕДИНЕНИЕ, а потом в выборке, перебрать и те, которые имеют соседнее значение NULL - перекинуть в массив...
|
|
5
ottto
20.06.07
✎
21:47
|
Веселое решение :)
Добавить еще поле 1
Объединить запросы сгруппировать по Результат, а поле 1 суммироать. все это во вложеном запросе. А условие на вложеный запрос естественно = 2
Ну т.е.
ВЫБРАТЬ Результат
ИЗ (ВЫБРАТЬ Результат КАК Результат,
СУММА(ВложенныйЗапрос.Сч) КАК Сч
ИЗ (ВЫБРАТЬ
Результат1 КАК Результат,
1 КАК Сч ИЗ Таб1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Результат2,
1
ИЗ Таб2) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Результат) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.Сч = 2
|
|
6
Alsh
20.06.07
✎
21:52
|
(5) Отличное решение! Спасибо!
|
|
7
Neco
20.06.07
✎
23:09
|
Простое решение:
ВЫБРАТЬ ЕСТЬNULL(Результат1, Результат2) КАК Результат ИЗ Таблица1 ПОЛНОЕ СОЕДИНЕНИЕ Таблица2 ПО Результат1 = Результат2 ГДЕ (Результат1 ЕСТЬ NULL ИЛИ Результат2 ЕСТЬ NULL )
|
|
8
sapphire
20.06.07
✎
23:11
|
(3) ну извини, раз читать не хочешь и думать то же, то помочь ни чем не могу.
|
|
9
Alsh
21.06.07
✎
08:49
|
(7) Спасибо, именно такое решение я и искал!
|
|