|
Соединить две таблицы | ☑ | ||
---|---|---|---|---|
0
Lazio04
20.12.12
✎
17:02
|
Как в запросе соединить две таблицы:
Объект Заказчик1 Сумма Объект Подрядчик1 Объект Заказчик2 Сумма Объект Подрядчик2 Объект Заказчик3 Сумма Объект Заказчик4 Сумма Объект Заказчик5 Сумма В итоге получим левым или правым соединением не совсем то что надо, а требуется просто соединить: Объект Заказчик1 Сумма Подрядчик1 Объект Заказчик2 Сумма Подрядчик2 Объект Заказчик3 Сумма null Объект Заказчик4 Сумма null Объект Заказчик5 Сумма null |
|||
1
ДенисЧ
20.12.12
✎
17:02
|
ОБЪЕДИНИТЬ ВСЕ
|
|||
2
Lazio04
20.12.12
✎
17:05
|
не подходит( объектов будет много
|
|||
3
sapphire
20.12.12
✎
17:06
|
(2) Много это сколько?
|
|||
4
pessok
20.12.12
✎
17:07
|
(2) если не подходит, то херачь руками, чо
|
|||
5
Lazio04
20.12.12
✎
17:08
|
да сколько угодно. Собираю данные по всем заказчикам сначала потом по подрядчикам, ну и в итоге хотелось бы попроще данные организовать чтобы потом в отчет только кинуть
|
|||
6
Lazio04
20.12.12
✎
17:08
|
(4) писать не утрудился?
|
|||
7
Popkorm
20.12.12
✎
17:09
|
(3) в (2) наверное думает в прямом смысле "ОБЪЕДИНИТЬ ВСЕ"
|
|||
8
sapphire
20.12.12
✎
17:09
|
(5) У меня объединяются несколько миллиардов записей и работает.
|
|||
9
m-serg74
20.12.12
✎
17:09
|
(5)
а вот это можно прокомментировать как получилось? Объект Заказчик1 Сумма Подрядчик1 Объект Заказчик2 Сумма Подрядчик2 |
|||
10
pessok
20.12.12
✎
17:09
|
(6) да Вы, батенька, хам. в (1) написали единственный верный метод, но Вам не подходит. так херачьте руками
|
|||
11
Lazio04
20.12.12
✎
17:11
|
По моему объединить и соединить это разные вещи немного
|
|||
12
vmv
20.12.12
✎
17:11
|
(0) я думал Мисс 1С бомбанула тему, мдя акелло проомахнулся, но стиль аналогичный
|
|||
13
sidalexsandr
20.12.12
✎
17:12
|
(0) ОБЪЕДИНИТЬ можно вместо ОБЪЕДИНИТЬ ВСЕ
|
|||
14
Classic
20.12.12
✎
17:12
|
не вижу в (0) двух таблиц
|
|||
15
Lazio04
20.12.12
✎
17:13
|
1ая
Объект Заказчик1 Сумма Объект Заказчик2 Сумма Объект Заказчик3 Сумма Объект Заказчик4 Сумма Объект Заказчик5 Сумма 2ая Объект Подрядчик1 Объект Подрядчик2 |
|||
16
vmv
20.12.12
✎
17:13
|
(0) чувак - твоя задача будет успешно решена в пакетном запросе, хватит сопли жевать - пиши пакет
|
|||
17
m-serg74
20.12.12
✎
17:13
|
(15) что на (9) ?
|
|||
18
Lazio04
20.12.12
✎
17:14
|
(17) то что хотелось бы получить
|
|||
19
Popkorm
20.12.12
✎
17:14
|
(11) у вас там прям так много подрядчиков?!Или учет гастарбайтеров,тоже подрятчики
|
|||
20
Classic
20.12.12
✎
17:14
|
(15)
Нумеруешь обе таблицы, соединяешь по номерам |
|||
21
m-serg74
20.12.12
✎
17:15
|
(18) ну тады только добавить поле чет/нечет в обе таблицы и по нему соединять
|
|||
22
sapphire
20.12.12
✎
17:16
|
(13) Да? И ЗАЧЕМ?
|
|||
23
pessok
20.12.12
✎
17:17
|
(18) как бы структура у двух таблиц должна быть одинаковая
|
|||
24
Жан Пердежон
20.12.12
✎
17:17
|
пронумеруй обе таблицы в пределах объекта и сделай левое соединение по объектам и номерам
|
|||
25
Lazio04
20.12.12
✎
17:18
|
(20) вот это уже вариант. А объединить даст я так понимаю:
Объект Заказчик1 Сумма Объект Заказчик2 Сумма Объект Заказчик3 Сумма Объект Заказчик4 Сумма Объект Заказчик5 Сумма Объект Подрядчик1 Объект Подрядчик2 Тогда вопрос уже к методике при обходе такой выборки мы будем проверять на соответствию типа справочника Заказчик или Подрядчик ? |
|||
26
vmv
20.12.12
✎
17:19
|
Формулируем задачу.
Господа, необходимо получить виртуальную таблицу данных для обработки, очтета и т.д., которая в первом приближении состоит из трех колонок Закачзчик/Подрядчик/Сумма но я такой стеснительный, что не скажу вам в из каких таблицах БД получать эти таблицы и при каких условиях тоже не скажу - потому что я умный, а вы дураки и ничего не шарите. |
|||
27
pessok
20.12.12
✎
17:20
|
(25) про объединить правильно понимаешь. такой ответ тебе был дан исходя из поставленной задачи, которую ты пояснил только к (18). обходить уже можно как удобнее
|
|||
28
Classic
20.12.12
✎
17:20
|
ВЫБРАТЬ
Т1.Объект, Т1.Заказчик, Т1.Сумма, КОЛИЧЕСТВО(КопияТ1.Объект) КАК Номер ПОМЕСТИТЬ НомТ1 ИЗ Т1 КАК Т1 ЛЕВОЕ СОЕДИНЕНИЕ Т1 КАК КопияТ1 ПО Т1.Объект = КопияТ1.Объект И Т1.Заказчик >= Т2.Заказчик СГРУППИРОВАТЬ ПО Т1.Объект, Т1.Заказчик, Т1.Сумма ; ВЫБРАТЬ Т2.Объект, Т2.Подрядчик, КОЛИЧЕСТВО(КопияТ2.Объект) КАК Номер ПОМЕСТИТЬ НомТ2 ИЗ Т2 КАК Т2 ЛЕВОЕ СОЕДИНЕНИЕ Т2 КАК КопияТ2 ПО Т2.Объект = КопияТ2.Объект И Т2.Подрядчик >= Т2.Подрядчик СГРУППИРОВАТЬ ПО Т2.Объект, Т2.Подрядчик ; ВЫБРАТЬ НомТ1.Объект, НомТ1.Заказчик, НомТ2.Подрядчик ИЗ НомТ1 КАК НомТ1 ЛЕВОЕ СОЕДИНЕНИЕ НомТ2 КАК НомТ2 ПО НомТ1.Объект = НомТ2.Объект И НомТ1.Номер = НомТ2.Номер |
|||
29
Лефмихалыч
20.12.12
✎
17:20
|
(15) соединение перемножит заказчиков и подрадчиков, если по одному объекту будет несколько заказчиков или/и подрядчиков. ЖИви с этим. В остальном - левое соединение (ну, или полное - по ситуации)
|
|||
30
pessok
20.12.12
✎
17:20
|
+(26) и вообще на мисте давно нет специалистов. одни тролли!
|
|||
31
Lazio04
20.12.12
✎
17:23
|
Ладно спасибо всем. Ответ я нашел. Точнее не совсем. Хотелось бы придумать в 1с что то типа дерева запросов ну для моего примера
Группа Объектов Объект .... .... ...... Объект Заказчики Подрядчики Заказчики Подрядчики |
|||
32
vmv
20.12.12
✎
17:23
|
(28) вот (28) классический спец, научил тс писать пакеты, хотя врядли это возможно, мдя
|
|||
33
vmv
20.12.12
✎
17:24
|
(31) это уже давно придумано
ключевые слова "пакет" + "итоги по" |
|||
34
Lazio04
20.12.12
✎
17:28
|
(33) а пример есть у кого под рукой ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |