Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Помогите создать запрос


Автор: arial 19.1.2006, 18:03
Есть две таблицы: A и B.

Таблица A:

Код
+--------+---------+
|  Name  |  Value  |
+--------+---------+
| Sergey |    5    |
| Ivan   |    2    |
| Oleg   |    8    |
| Stepan |    2    |
| Aleks  |    7    |
+--------+---------+


Таблица B:

Код
+--------+---------+
|  Name  |  Value  |
+--------+---------+
| Sergey |    3    |
| Ivan   |    1    |
| Stas   |    2    |
| Stepan |    4    |
| Alex   |    9    |
+--------+---------+


Эти две таблицы необходимо объеденить в третью таблицу C:

Код
+--------+-----------+-----------+-------------+
|  Name  |  Value A  |  Value B  | Summa A & B |
+--------+-----------+-----------+-------------+
| Sergey |     5     |     3     |      8      |
| Ivan   |     2     |     1     |      3      |
| Oleg   |     8     |           |      8      |
| Stas   |           |     2     |      2      |
| Stepan |     2     |     4     |      6      |
| Aleks  |     7     |     9     |     16      |
+--------+-----------+-----------+-------------+


Пол дня ломаю голову, сообразить не могу.
FoxPro 5


Автор: LSD 19.1.2006, 18:28
Не знаю сработает ли это в FoxPro 5, но что-то подобное:
Код
select at.name, at.value_a, bt.value_b, nvl(at.value_a, 0) + nvl(bt.value_b, 0)
  from A as at
  full join B as bt on at.name = bt.name

Добавлено @ 18:29
nvl - это функция которая проверяет является ли первый аргумент null, и если да, то возвращет второй.

Автор: chief39 20.1.2006, 15:50
Цитата(LSD @ 19.1.2006, 18:28 Найти цитируемый пост)

nvl - это функция которая проверяет является ли первый аргумент null, и если да, то возвращет второй.

В сайбейсе - isnull. Интересно как в фокспре она называется ? smile (Если есть такая)

Автор: Cashey 20.1.2006, 17:53
Цитата(chief39 @ 20.1.2006, 15:50 Найти цитируемый пост)

В сайбейсе - isnull. Интересно как в фокспре она называется ?  (Если есть такая)

в фоксе есть и ISNULL и NVL smile
правда не уверен, что NVL есть в 5-м Фоксе, это относительно новая функция.

Автор: arial 20.1.2006, 19:58
Цитата(Cashey @ 20.1.2006, 18:53)
правда не уверен, что NVL есть в 5-м Фоксе, это относительно новая функция.

Есть, проверено.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)