|
Помогите с запросом |
☑ |
0
Double_Medved
17.04.13
✎
10:34
|
Подскажите пожалуйста, надо сделать такой запрос: есть склад-отправитель и склад-получатель, и определенная дата. Надо взять остатки по каждому из этих складов и получить ту номенклатуру, у которой есть плюсовой остаток на складе-отправителе но нет остатка на складе-получателе (то есть 0). Как взять отдельно остатки для каждого склада я понимаю. Но не пойму как мне потом эти таблицы объединять соединять там левое правое или полное или как.... Подскажите плиз.
|
|
1
Sammo
17.04.13
✎
10:41
|
Для определения типа соединения надо для начала ответить - что делать, если на одном складе остаток есть, а на другом нет
|
|
2
Double_Medved
17.04.13
✎
10:42
|
(1) мне как раз и нужны те стоки, где на первом складе остаток есть а на втором нет). Но не наоборот.
|
|
3
olegves
17.04.13
✎
10:42
|
Основной - отправитель и левым соединением цепляй, в условии которого и укажи остаток или Null
|
|
4
Жан Пердежон
17.04.13
✎
10:43
|
левое соединение
где остаток2 есть null
|
|
5
palpetrovich
17.04.13
✎
10:44
|
(3) а чего "левым"? ему-ж не нужны все остатки которые на "отправителе"
|
|
6
Double_Medved
17.04.13
✎
10:46
|
а вот например на втором складе остаток нулевой, так там вообще сточка будет типа "номенклатура = помада , остаток = 0" или "номенклатура = помада, остаток = null", или ее в таблице вообще не будет?
|
|
7
lapinio
17.04.13
✎
10:46
|
А объединение запросов не подойдет в данном случаи?
|
|
8
olegves
17.04.13
✎
10:46
|
(5) так к отправителю левым и подцепит получателя
|
|
9
В тылу врага
17.04.13
✎
10:49
|
херня все, есть альтернатива
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Склад = &Основной
ТОГДА ТоварыНаСкладахОстатки.КоличествоОстаток
КОНЕЦ) КАК Поле1
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Основной, &Побочный)) КАК ТоварыНаСкладахОстатки
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстатки.Номенклатура
ИМЕЮЩИЕ
СУММА(ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Склад = &Побочный
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) = 0
|
|
10
Double_Medved
17.04.13
✎
10:50
|
(8) а вот подцеплю я получателя у меня же будет типа вся информация со всеми остатками типа "помада, у отправителя - 3, у получателя - 1"? это в принципе подойдет, потом выберу что мне нужно. а вот нулевые остатки на складе получателе он подтянет как "помада, у отправителя = 3, а у получателя 0? null? или как?
|
|
11
lapinio
17.04.13
✎
10:57
|
Можно сделать вложенный запрос в этом вложенном запросе объединение. Потом во вложенном запросе можно поставить условия или в объединениях. Зачем какое то левое, правое соединение не понятно. Нужно получить одну таблицу из двух!
|
|
12
lapinio
17.04.13
✎
11:15
|
или Внутреннее соединение по номенклатуре
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший