Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
ВнизЗапрос 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c