Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-1094625570
VadimKV
2004-09-08 10:39
2004.10.03
Как вычислить факториал (5!) на языке SQL(FB1.5)???


14-1084251025
Vlad Oshin
2004-05-11 08:50
2004.10.03
с анекдот ру


4-1092993787
Adil
2004-08-20 13:23
2004.10.03
Как блокировать клавиатуру и мышку


3-1094472793
СергейП
2004-09-06 16:13
2004.10.03
DB контролы


3-1093729933
Денисыч
2004-08-29 01:52
2004.10.03
Защита Firebird





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский