AVC |
Отправлено: 27.05.2004, 14:25 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Помогите с идеей.
Нужно сравнить две выборки, информация в которых частично перекрывается.
Пример
содержимое Sel1 {1,2,3,4}
содержимое Sel2 {3,4,5,6}
нужен результат (по строкам)
1 Null
2 Null
3 3
4 4
Null 5
Null 6
Заранее благодарен. |
|
AVC |
Отправлено: 27.05.2004, 14:46 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Извиняюсь за беспокойство. Вопрос снят. |
|
Gedeon |
Отправлено: 27.05.2004, 15:22 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Покажи решение, со своим хочу сравнить.
|
|
AVC |
Отправлено: 27.05.2004, 15:30 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Реальный запрос (Oracle)
CODE |
Select -- строки из первой, которых нет во второй
h.*
,b.*
From
HHC.Town h
,(Select * From BByt.BRay Where 1 = 2) b -- пустая строка для Union
Where 1 = 1
and h.TownID = b.NOM (+)
and h.TownID not in (Select NOM From BByt.BRay)
--
Union all
--
Select
h.*
,b.*
From
HHC.Town h
,BByt.BRay b
Where 1 = 1
and b.Nom = h.TownID (+) -- все BRay и задвоенные из Town
|
|
|
Gedeon |
Отправлено: 27.05.2004, 15:42 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Oracle
SQL | SELECT SEL1.NUM,
SEL2.NUM
FROM SEL1, SEL2
WHERE SEL1.NUM = SEL2.NUM(+)
UNION
SELECT SEL1.NUM,
SEL2.NUM
FROM SEL1, SEL2
WHERE SEL1.NUM(+) = SEL2.NUM |
|
|
AVC |
Отправлено: 27.05.2004, 16:27 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Спасибо, да. |
|