Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

Запрос 2 таблицам   Найти похожие ветки 

 
Алексей   (2004-09-01 11:27) [0]

Дано: 2 таблицы
create table tabl1(id_1 numeric(6,0),kolvo numeric(6,0))
create table tabl2(id_2 numeric(6,0),kolvo numeric(6,0))

Данные:

tabl1                tabl2
10   5               11     2
11   5               13     1
12   5
13   5

Пишу запрос:
select a.id_1,a.kolvo+b.kolvo from tabl1 a,tabl2 b where a.id_1=b.id_2

Расчитываю получить:
10   5
11   7
12   5
13   6

а получаю:

11   7
13   6

Как мне получить требуемое?


 
Роман Снегирев   (2004-09-01 11:34) [1]

хреново ты расчитываешь,where a.id_1=b.id_2 есть внутреннее объединение, почитай хелп по SQL


 
Алексе   (2004-09-01 11:42) [2]

join использовать?
А по другому никак?


 
sniknik ©   (2004-09-01 11:46) [3]

select a.id_1, a.kolvo+ iif(b.kolvo is Null, 0, b.kolvo) from tabl1 a left join tabl2 b on a.id_1=b.id_2
получиш то на что расчитываеш. (если то что используеш это позволяет ;о))


 
Алексе   (2004-09-01 11:58) [4]

После замены iff(b.kolvo is null,0,b.kolvo)
наiff(empty(b.kolvo),0,b.kolvo)
получил в результате
10    null
11    7
12    null
13    6


 
Роман Снегирев   (2004-09-01 12:03) [5]

coalesce тебя спасет


 
Алексе   (2004-09-01 12:07) [6]

А это что за зверь?????
Я про такое даже и не слышал :-)
Просвети, плиз....


 
sniknik ©   (2004-09-01 12:09) [7]

> После замены iff(b.kolvo is null,0,b.kolvo)
> наiff(empty(b.kolvo),0,b.kolvo)
у меня написано
iif(b.kolvo is Null, 0, b.kolvo)

а у тебя если потребовались замены не то что у меня. (?) намек понят? нет?
> (если то что используеш это позволяет ;о))


 
Роман Снегирев   (2004-09-01 12:11) [8]

А это что за зверь?????
Я про такое даже и не слышал :-)
Просвети, плиз....

это функция такая которая если грубо заменяет значения null на заданные тобой значения


 
sniknik ©   (2004-09-01 12:12) [9]

> coalesce тебя спасет

> А это что за зверь?????
> Я про такое даже и не слышал :-)
> Просвети, плиз....
а это то чего ни у тебя ни меня нет.

неужели неясно? проще тебе используемый движок назвать чем все варианты перебирать.


 
Алексе   (2004-09-01 12:14) [10]

Таблицы Fox`а, движок ADO....


 
Роман Снегирев   (2004-09-01 12:14) [11]

firebird 1.5 конечно


 
sniknik ©   (2004-09-01 12:16) [12]

> движок ADO....
ADO это не движок, надстройка, движок это то что он использует (к чему конект)


 
Роман Снегирев   (2004-09-01 12:23) [13]

ну тады (если это DBASE) надо использоывать BDE, правда тогда у тебя ничего не получиться


 
sniknik ©   (2004-09-01 12:23) [14]

ну ладно, в принципе ясно (раз фокс то скорее всего одбсишный драйвер его юзается)
небольшая замена, должно работать
select a.id_1, a.kolvo+ iif(isNull(b.kolvo), 0, b.kolvo) from tabl1 a left join tabl2 b on a.id_1=b.id_2


 
Алексе   (2004-09-01 12:34) [15]

УРА!
Заработало!!!
Ограмное спасибо.

P.S. Но пока не понял КАК работать :-)



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
3-1094640749
bss
2004-09-08 14:52
2004.10.03
Как отловить изменение данных в таблице базы MS Access?


4-1093250479
Adolph
2004-08-23 12:41
2004.10.03
CreateWindow


3-1094166069
fif
2004-09-03 03:01
2004.10.03
базы данных database в сети


14-1094447269
hawkins
2004-09-06 09:07
2004.10.03
как поставить защиту на свою прог-му?


1-1095747881
drew
2004-09-21 10:24
2004.10.03
VB макрос...может кто поможет в листе Excel надо сравнить ячейки