|
Запросы по нескольким виртуальным таблицам регистров. | ☑ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
0
ILM
гуру
03.11.11
✎
21:07
|
Коллективный разум: как более правильнее делать запросы по нескольким виртуальным таблицам разных регистров:
1) ЛЕВОЕ СОЕДИНЕНИЕ по отобранным полям 2) ОБЪЕДИНИТЬ ВСЕ, а потом СГРУППИРОВАТЬ 3) Может есть ещё способ |
||||||||||
|
1
Господин ПЖ
03.11.11
✎
21:09
|
нет более правильно... есть более вменяемо плана выполнения запроса
|
||||||||||
|
2
rs_trade
03.11.11
✎
21:11
|
(0) зависит от того, что ты хочешь получить. нельзя говорить что левое соединение правильнее чем объединить все. или наоборот.
Другое |
||||||||||
|
3
МишельЛагранж
03.11.11
✎
21:23
|
я вообще против виртуальных таблиц в такой реализации!
лучше бы их не было вовсе, а 1с под давлением сделал бы что-нибудь путное. Другое |
||||||||||
|
4
ILM
гуру
03.11.11
✎
21:31
|
1)
ВЫБРАТЬ Регистр1.Документ, Регистр1.НОменклатура, Регистр1.КоличествоОстаток - ЕСТЬNULL(Регистр2.КоличествоОстаток, 0) КАК Результат ИЗ Регистр1.Остатки(&Дата, Документ = &Заказ) КАК Регистр1 ЛЕВОЕ СОЕДИНЕНИЕ Регистр2.Остатки(&Дата, Документ = &Заказ) КАК Регистр2 ПО Регистр1.Документ = Регистр2.Документ И Регистр1.НОменклатура = Регистр2.НОменклатура 2) ВЫБРАТЬ ВложенныйЗапрос.Документ, ВложенныйЗапрос.НОменклатура, СУММА(ВложенныйЗапрос.Результат) ИЗ (ВЫБРАТЬ Регистр1.Документ, Регистр1.НОменклатура, Регистр1.КоличествоОстаток КАК Результат ИЗ Регистр1.Остатки(&Дата, Документ = &Заказ) КАК Регистр1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Регистр2.Документ, Регистр2.Номенклатура, -Регистр2.КоличествоОстаток КАК Результат) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Документ, ВложенныйЗапрос.НОменклатура 3) Это как? |
||||||||||
|
5
ILM
гуру
03.11.11
✎
21:31
|
Ну как то более SQL-но ))
ЛЕВОЕ СОЕДИНЕНИЕ |
||||||||||
|
6
ilkoder
03.11.11
✎
21:36
|
То есть в первом регистре данные есть всегда, а во втором могут и не быть? а если наоборот, то результат с минусом?
|
||||||||||
|
7
ILM
гуру
04.11.11
✎
14:49
|
Те данные, что мне нужны есть всегда...
|
| Форум | Правила | Описание | Секции | Поиск |