|
Запрос Полное соединение | ☑ | ||
---|---|---|---|---|
0
ХочуСпец
12.04.12
✎
17:04
|
Есть две таблицы
Таблица1: Поле1, Поле2, Поле3, Месяц, Количество Таблица2 аналогичная Требуется сделать следующее: Если за конкретный месяц в таблице1 Количество = 0, тогда количество выбираем из второй таблицы Сделал с помощью ПОЛНОЕ СОЕДИНЕНИЕ НО данные по количеству всегда = 0 Вот запрос: ВЫБРАТЬ ЕСТЬNULL(Таблица1.Поле1, Таблица2.Поле1) КАК Поле1, ЕСТЬNULL(Таблица1.Поле2, Таблица2.Поле2) КАК Поле2, ЕСТЬNULL(Таблица1.Месяц, Таблица2.Месяц) КАК Месяц, ЕСТЬNULL(Таблица1.Поле3, Таблица2.Поле3) КАК Поле3, ВЫБОР КОГДА ЕСТЬNULL(Таблица1.Количество, 0) = 0 ТОГДА ЕСТЬNULL(Таблица1.Количество, 0) ИНАЧЕ ЕСТЬNULL(Таблица2.Количество, 0) КОНЕЦ КАК Количество ИЗ (ВЫБРАТЬ Таблица1.Поле1 КАК Поле1, Таблица1.Поле2 КАК Поле2, Таблица1.Месяц КАК Месяц, Таблица1.Поле3 КАК Поле3, Таблица1.Количество КАК Количество ИЗ Таблица1 КАК ВТ_Таблица1) КАК Таблица1 ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Таблица2.Поле1 КАК Поле1, Таблица2.Поле2 КАК Поле2, Таблица2.Месяц КАК Месяц, Таблица2.Поле3 КАК Поле3, Таблица2.Количество КАК Количество ИЗ Таблица2 КАК ВТ_Таблица2) КАК Таблица2 ПО Таблица1.Поле1 = Таблица2.Поле1 И Таблица1.Поле2 = Таблица2.Поле2 И Таблица1.Месяц = Таблица2.Месяц И Таблица1.Поле3 = Таблица2.Поле3 Что не так в запросе? |
|||
1
vde69
12.04.12
✎
17:07
|
вложеный, в нем 2 таблицы
ОБЪЕДЕНИТЬ |
|||
2
Axel2009
12.04.12
✎
17:09
|
ВЫБОР
КОГДА ЕСТЬNULL(Таблица1.Количество, 0) = 0 ТОГДА ЕСТЬNULL(Таблица2.Количество, 0) ИНАЧЕ ЕСТЬNULL(Таблица1.Количество, 0) КОНЕЦ КАК Количество |
|||
3
vde69
12.04.12
✎
17:09
|
примерно так
ВЫБРАТЬ ВложенныйЗапрос.Ссылка, ВложенныйЗапрос.Наценка, ВложенныйЗапрос.Наценка1 ИЗ (ВЫБРАТЬ Валюты.Ссылка КАК Ссылка, Валюты.Наценка КАК Наценка, NULL КАК Наценка1 ИЗ Справочник.Валюты КАК Валюты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Валюты.Ссылка, NULL, Валюты.Наценка ИЗ Справочник.Валюты КАК Валюты) КАК ВложенныйЗапрос |
|||
4
ХочуСпец
12.04.12
✎
17:14
|
(3) А где проверка на то что Кол = 0?
(2) А в чем ошибка? |
|||
5
zladenuw
12.04.12
✎
17:15
|
а ты по внимательные у тебя условие не правильное
|
|||
6
zladenuw
12.04.12
✎
17:15
|
КОГДА ЕСТЬNULL(Таблица1.Количество, 0) = 0
ТОГДА ЕСТЬNULL(Таблица1.Количество, 0) ИНАЧЕ ЕСТЬNULL(Таблица2.Количество, 0) КОНЕЦ КАК Количество а тебе показали ВЫБОР КОГДА ЕСТЬNULL(Таблица1.Количество, 0) = 0 ТОГДА ЕСТЬNULL(Таблица2.Количество, 0) ИНАЧЕ ЕСТЬNULL(Таблица1.Количество, 0) КОНЕЦ КАК Количество |
|||
7
ХочуСпец
12.04.12
✎
17:16
|
(5) млин башка уже под конец дня пухнет что именно неправильно
|
|||
8
ХочуСпец
12.04.12
✎
17:18
|
(6) точно
|
|||
9
ХочуСпец
12.04.12
✎
17:19
|
(6) ситуация не поменялась!
|
|||
10
ХочуСпец
12.04.12
✎
17:23
|
(3) Объединение не подойдет может быть такая ситуация, что и в таблице 1 и в таблице 2 Количество <> 0, а приоритетное кол-во нужно брать именно из таблицы 1 (если кол<>0)
|
|||
11
ХочуСпец
12.04.12
✎
17:25
|
Ребят, что не так с запросом?
|
|||
12
НЕА123
12.04.12
✎
17:26
|
(ВЫБРАТЬ
Таблица1.Поле1 КАК Поле1, Таблица1.Поле2 КАК Поле2, Таблица1.Месяц КАК Месяц, Таблица1.Поле3 КАК Поле3, Таблица1.Количество КАК Количество ИЗ Таблица1 КАК ВТ_Таблица1) КАК Таблица1 это работает? |
|||
13
ХочуСпец
12.04.12
✎
17:29
|
(12) тоже пусто
|
|||
14
НЕА123
12.04.12
✎
17:33
|
(ВЫБРАТЬ
Таблица1.Поле1 КАК Поле1, Таблица1.Поле2 КАК Поле2, Таблица1.Месяц КАК Месяц, Таблица1.Поле3 КАК Поле3, Таблица1.Количество КАК Количество ИЗ ВТ_Таблица1 КАК Таблица1 ) КАК Таблица1 ? |
|||
15
Axel2009
12.04.12
✎
17:35
|
ВЫБРАТЬ
ЕСТЬNULL(Таблица1.Поле1, Таблица2.Поле1) КАК Поле1, ЕСТЬNULL(Таблица1.Поле2, Таблица2.Поле2) КАК Поле2, ЕСТЬNULL(Таблица1.Месяц, Таблица2.Месяц) КАК Месяц, ЕСТЬNULL(Таблица1.Поле3, Таблица2.Поле3) КАК Поле3, ВЫБОР КОГДА ЕСТЬNULL(Таблица1.Количество, 0) = 0 ТОГДА ЕСТЬNULL(Таблица2.Количество, 0) ИНАЧЕ ЕСТЬNULL(Таблица1.Количество, 0) КОНЕЦ КАК Количество ИЗ Таблица1 КАК Таблица1 ПОЛНОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2 ПО Таблица1.Поле1 = Таблица2.Поле1 И Таблица1.Поле2 = Таблица2.Поле2 И Таблица1.Месяц = Таблица2.Месяц И Таблица1.Поле3 = Таблица2.Поле3 |
|||
16
ХочуСпец
12.04.12
✎
17:36
|
(14) да это моя ошибка при написании кода просто
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |