|
Левое соединение 3-х таблиц | ☑ | ||
---|---|---|---|---|
0
Double_Medved
27.01.13
✎
16:41
|
Подскажите плиз, как правильно сделать соединение 3-х таблиц? я соединил две, как правильно прилепить третью не пойму... 1-я таблица - количество товара на складе, 2-я его цена в виде цен "Закупочная", 3-я - его цена в виде цен "Розничная"
Мне к вот этому: ВЫБРАТЬ ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад, ТоварыНаСкладах.ВНаличииОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура Нужно прилепить вот это: ВЫБРАТЬ ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена ИЗ мРегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип2) |
|||
1
Double_Medved
27.01.13
✎
16:42
|
Ой не совсем так
|
|||
2
Double_Medved
27.01.13
✎
16:42
|
ВЫБРАТЬ
ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад, РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) ТоварыНаСкладах.ВНаличииОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура Нужно прилепить вот это: ВЫБРАТЬ ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип2) |
|||
3
Double_Medved
27.01.13
✎
16:43
|
Вот так
|
|||
4
Wobland
27.01.13
✎
16:43
|
конструктор пользовал?
|
|||
5
Double_Medved
27.01.13
✎
16:44
|
Не, мне тут так на форуме подсказали
|
|||
6
Wobland
27.01.13
✎
16:44
|
вообще-то тут две таблицы.
остатки левое цены по номенклатура=номенклатура и тип=тип1 левое цены по номенклатура=номенклатура и тип=тип2 (5) а ты попробуй |
|||
7
Double_Medved
27.01.13
✎
16:48
|
Должно быть как-то так?:
ВЫБРАТЬ ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) КАК Цена2, ТоварыНаСкладах.ВНаличииОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних2 ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних2.Номенклатура |
|||
8
Wobland
27.01.13
✎
16:52
|
ну пусть так. второй тип другой же?
|
|||
9
Double_Medved
27.01.13
✎
16:53
|
да
|
|||
10
Double_Medved
27.01.13
✎
16:54
|
просто я про то как правильно пишется 2 левых соединения? просто подряд можно?
|
|||
11
Wobland
27.01.13
✎
16:55
|
(10) ещё можно конструктор позвать и спросить
|
|||
12
Double_Medved
27.01.13
✎
17:07
|
Я просто что-то не понял где в конструкторе делается соединение
|
|||
13
Wobland
27.01.13
✎
17:09
|
(12) связи
|
|||
14
Double_Medved
27.01.13
✎
17:25
|
Понял, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |