Имя: Пароль:
1C
1С v8
Вычитание двух таблиц...
0 Andry_Boris
 
21.11.11
20:03
День добрый.

Есть две таблицы:
(условно набор цифр)
1) 1, 55, 85, 48, 69, 47, 3, 42
2) 55, 26, 49, 69, 3

возможно ли при помощи запроса получить разницу между 1 - 2
т.е. получаем таблицу с числами не вошедшими в таблицу 1.
3) 1, 85, 48, 47, 42
...

С уважением, Андрей
1 Господин ПЖ
 
21.11.11
20:04
where ... not in (select ...) ?
2 Птица
 
21.11.11
20:04
можно
3 rotting
 
21.11.11
20:05
слепи во вложенный запрос, потом отфильтруй
4 ПесняПроЗайцев
 
21.11.11
20:05
А хез его знает, прочто ты говоришь. То ли про таблицы в базе, то ли ТЗ, то ли..
Можно в любом случае.)
5 Птица
 
21.11.11
20:05
выбрать А.число ИЗ А ГДЕ НЕ А.число В (внутреннее соединение А и Б)
6 lubja
 
21.11.11
20:06
используй условие
не в (выбрать таб2.поле из таб2 как таб2)
7 Classic
 
21.11.11
20:06
Ни 1, ни 2 на таблицы не похожи
8 Classic
 
21.11.11
20:07
Может это вообще колонки?
9 NcSteel
 
21.11.11
20:09
(1) А если в первой таблице цыфр меньше чем во второй.
10 Господин ПЖ
 
21.11.11
20:10
(9) написано же "получаем таблицу с числами не вошедшими в таблицу 1"
11 NcSteel
 
21.11.11
20:15
(10) Я еще цыфр через Ы написал . Посыпаю голову пеплом.
12 lubja
 
21.11.11
20:15
(11) по-моему, твое Ы было не заметно )
13 NcSteel
 
21.11.11
20:17
(12) Но жена подзатыльник отвесила . 0_о
14 lubja
 
21.11.11
20:18
(13) за что?! она твою орфографию на форуме проверяет?! О_о
15 NcSteel
 
21.11.11
20:19
(14) Выразился образно.  Заметила )))
16 MikleV
 
21.11.11
21:45
Т1 левое соединение Т2
ПО блаблабла
ГДЕ Т2.Поле ЕСТЬ NULL
17 MikleV
 
21.11.11
21:46
всем любителям NOT IN подумать о прекрасном IN с парой сотен тысяч значений
18 andrewks
 
21.11.11
22:01
(16)+1
19 ПесняПроЗайцев
 
21.11.11
22:07
(16) а если T2 длиннее T1? )
20 andrewks
 
21.11.11
22:09
(19) и чо?
21 ПесняПроЗайцев
 
21.11.11
22:18
(20) полное соединение надо и анализ
22 andrewks
 
21.11.11
22:20
(21) не пори чушь, подумай
23 MikleV
 
21.11.11
22:20
(19)будет неоптимальный джойн, но это лучшее из зол
24 MikleV
 
21.11.11
22:20
(21)ога, на postrgre sql сделай=)
25 MikleV
 
21.11.11
22:20
тфу, ну вы поняли о чем я
26 andrewks
 
21.11.11
22:21
(24) и при чём здесь постгрес?
27 MikleV
 
21.11.11
22:23
(26)совершенно не при чем, кроме того что полное соединение из 1с там неоптимально работает
28 andrewks
 
21.11.11
22:28
(27) а в DB2?
29 MikleV
 
21.11.11
22:29
(28)про db2 не помню/не знаю
30 ПесняПроЗайцев
 
21.11.11
22:29
(27) по отзывам коллег - прекрасно все и там работает. Просто постгресс наджо патченый.
(22) left/right join- идет до конца только по одной из таблиц.
31 ПесняПроЗайцев
 
21.11.11
22:30
(28) + А в оракле? )
32 andrewks
 
21.11.11
22:32
(30) 2. чё-то не  вкурю никак, что ты хочешь доказать?


select
1 as val
into tt1
union select 55 union select 85 union select 48 union select 69 union select 47 union select 3 union select 42

;

select
55 as val
into tt2
union select 26 union select 49 union select 69 union select 3

;

select
tt1.val as val
from
tt1
left join
tt2
on (tt1.val=tt2.val)
where (tt2.val is null)


приведи пример входных таблиц, когда отработает некорректно
33 ПесняПроЗайцев
 
21.11.11
22:37
(32) Пойду топиться.
34 MikleV
 
21.11.11
22:39
(31)в оракле - надо проверять
когда последний раз смотрел оно сильно медленно работало на любых запросах.
про постгресс - у моих коллег есть печальный опыт использования в одной из транспортных компаний, и я им вполне доверяю в их оценках.