|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
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
|
или Внутреннее соединение по номенклатуре
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |