|
Соединение по двум полям | ☑ | ||
---|---|---|---|---|
0
wmonref
31.08.15
✎
10:38
|
Приветствую! Помогите разобраться с запросом. Есть Начисления по книгам:
Книга1 | Тираж 100 | АвторА | 500 Книга1 | Тираж 100 | АвторБ | 400 Книга2 | Тираж 200 | АвторВ | 100 Книга2 | Тираж 200 | АвторГ | 200 Книга2 | Тираж 200 | АвторД | 300 и Выдача по книгам: Книга1 | АвторА | 500 Книга1 | АвторБ | 500 Книга2 | АвторБ | 100 Книга2 | АвторВ | 200 Книга2 | АвторГ | 300 Мне надо все это соеденить чтоб получалось: Книга1 | Тираж 100 | АвторА | 500(нач) | 500(выд) Книга1 | Тираж 100 | АвторБ | 400(нач) | 400(выд) Книга2 | Тираж 200 | АвторВ | 100(нач) | 100(выд) и.т.д А у меня получается: Книга1 | Тираж 100 | АвторА | 500(нач) | 500(выд) Книга1 | Тираж 100 | АвторА | 500(нач) | 400(выд) Книга1 | Тираж 100 | АвторБ | 400(нач) | 400(выд) Книга1 | Тираж 100 | АвторБ | 400(нач) | 500(выд) Вот код: ВЫБРАТЬ НачислениеОсновная.Ссылка.Заказ КАК Заказ, НачислениеОсновная.Ссылка.Тираж КАК Тираж, НачислениеОсновная.Автор КАК Автор, НачислениеОсновная.Сумма КАК Начислено ПОМЕСТИТЬ ВТ_НАЧ ИЗ Документ.НачислениеГонораров.Основная КАК НачислениеОсновная ГДЕ НачислениеОсновная.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода ; ВЫБРАТЬ НаправлениеОсновная.Ссылка.Заказ КАК ЗаказНап, НаправлениеОсновная.Автор КАК АвторНап, НаправлениеОсновная.Сумма КАК Выплачено ПОМЕСТИТЬ ВТ_ВЫП ИЗ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная ГДЕ НаправлениеОсновная.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода ; ВЫБРАТЬ ВТ_НАЧ.Заказ КАК Заказ, ВТ_НАЧ.Тираж КАК Тираж, ВТ_НАЧ.Автор КАК Автор, ВТ_НАЧ.Начислено КАК Начислено, ВТ_ВЫП.Выплачено КАК Выплачено ИЗ ВТ_НАЧ КАК ВТ_НАЧ ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ВЫП КАК ВТ_ВЫП ПО ВТ_НАЧ.Заказ = ВТ_ВЫП.ЗаказНап СГРУППИРОВАТЬ ПО ВТ_НАЧ.Заказ, ВТ_НАЧ.Тираж, ВТ_НАЧ.Автор, ВТ_НАЧ.Начислено, ВТ_ВЫП.Выплачено |
|||
1
AllJoke
31.08.15
✎
10:40
|
Левое соединение
|
|||
2
AllJoke
31.08.15
✎
10:40
|
+ По Книге и Тиражу.
|
|||
3
AllJoke
31.08.15
✎
10:40
|
оу оу, по автору, не по тиражу
|
|||
4
wmonref
31.08.15
✎
10:42
|
(3) т.е еще одно Левое соединение с ВТ_ВЫП по автору?
|
|||
5
wmonref
31.08.15
✎
10:45
|
(4) Без изменений...
|
|||
6
AllJoke
31.08.15
✎
10:48
|
а зачем вообще выбирать помещать? Сразу соединить?
|
|||
7
AllJoke
31.08.15
✎
10:49
|
(5) покажи код соединения.
|
|||
8
wmonref
31.08.15
✎
10:53
|
ВЫБРАТЬ
НачислениеОсновная.Ссылка.Заказ КАК Заказ, НачислениеОсновная.Ссылка.Тираж КАК Тираж, НачислениеОсновная.Автор КАК Автор, НачислениеОсновная.Сумма КАК Начислено, НаправлениеОсновная.Сумма КАК Выплачено ИЗ Документ.НачислениеГонораров.Основная КАК НачислениеОсновная ЛЕВОЕ СОЕДИНЕНИЕ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная ПО НачислениеОсновная.Ссылка.Заказ = НаправлениеОсновная.Ссылка.Заказ ЛЕВОЕ СОЕДИНЕНИЕ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная1 ПО НачислениеОсновная.Автор = НаправлениеОсновная1.Автор ГДЕ НачислениеОсновная.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода УПОРЯДОЧИТЬ ПО НачислениеОсновная.Ссылка.Заказ АВТОУПОРЯДОЧИВАНИЕ |
|||
9
AllJoke
31.08.15
✎
10:55
|
ПО
НачислениеОсновная.Автор = НаправлениеОсновная1.Автор и НачислениеОсновная.Заказ = НаправлениеОсновная1.Заказ |
|||
10
13_Mult
31.08.15
✎
10:55
|
Сегодня день запросов )
|
|||
11
AllJoke
31.08.15
✎
10:56
|
(10) +1, тоже заметил ))
|
|||
12
wmonref
31.08.15
✎
10:58
|
(9) В поле Выплачено одни NULL
|
|||
13
wmonref
31.08.15
✎
11:11
|
(9) Что скажите?
|
|||
14
Lexey_
31.08.15
✎
11:15
|
(13) поражены твоей неудачей (с)
итоговый текст запроса не покажешь? |
|||
15
AllJoke
31.08.15
✎
11:16
|
Книга1 | Тираж 100 | АвторБ | 400(нач) | 400(выд) кау етбя тут будет выдано 400, если во второй таблице выдано 500???
|
|||
16
wmonref
31.08.15
✎
11:17
|
(15) Там ошибка, извините...
Должно быть : Книга1 | АвторА | 500 Книга1 | АвторБ | 400 |
|||
17
wmonref
31.08.15
✎
11:20
|
(14)
Текст в (8) И в результате запроса ВСЕ значения в поле Выплачено равны NULL |
|||
18
AllJoke
31.08.15
✎
11:25
|
||||
19
AllJoke
31.08.15
✎
11:25
|
Запрос.Текст = "Выбрать Книга КАК КнНач, Тираж, Автор КАК АвтНач, Сумма КАК СуммаНач Поместить ВТ_Нач Из &КнНач КАК Начисленные;
|Выбрать Книга КАК КнВыд, Автор КАК АвтВыд, Сумма КАК СуммаВыд Поместить ВТ_Выд Из &Кнвыд Как Выданные; |Выбрать КнНач, Тираж, АвтНач, СуммаНач, СуммаВыд ИЗ ВТ_нач ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Выд ПО ВТ_Нач.АвтНач = ВТ_Выд.АвтВыд"; Запрос.УстановитьПараметр("КнНач", Начислено); Запрос.УстановитьПараметр("КнВыд", Выдано); |
|||
20
wmonref
31.08.15
✎
11:46
|
||||
21
wmonref
31.08.15
✎
11:47
|
||||
22
wmonref
31.08.15
✎
12:05
|
(19) Можетбыть из-за того что некоторым авторам деньги начислялись но не выдавались?
|
|||
23
wmonref
31.08.15
✎
12:07
|
(19) Потому что именно так оно и есть.. Для некоторых авторов действительно поле Выплачено = NULL, но не для всех же!
|
|||
24
wmonref
31.08.15
✎
12:29
|
Ну что, есть у кого-то какие-то идеи??
|
|||
25
AllJoke
31.08.15
✎
12:32
|
Показывай запрос свой паолностью.
|
|||
26
AllJoke
31.08.15
✎
12:34
|
а книга с таким автором точно была выдана??
|
|||
27
wmonref
31.08.15
✎
12:40
|
(26) 100%
Запрос делаю в консоли. ВЫБРАТЬ НачислениеОсновная.Ссылка.Заказ КАК Заказ, НачислениеОсновная.Ссылка.Тираж КАК Тираж, НачислениеОсновная.Автор КАК Автор, НачислениеОсновная.Сумма КАК Начислено ПОМЕСТИТЬ ВТ_НАЧ ИЗ Документ.НачислениеГонораров.Основная КАК НачислениеОсновная ГДЕ НачислениеОсновная.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода ; ВЫБРАТЬ НаправлениеОсновная.Ссылка.Заказ КАК ЗаказВыд, НаправлениеОсновная.Автор КАК АвторВыд, НаправлениеОсновная.Сумма КАК СуммаВыд ПОМЕСТИТЬ ВТ_ВЫД ИЗ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная ; ВЫБРАТЬ Заказ КАК Заказ, Тираж КАК Тираж, Автор КАК Автор, Начислено КАК Начислено, СуммаВыд КАК Выдано ИЗ ВТ_НАЧ ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ВЫД ПО ВТ_НАЧ.Автор = ВТ_ВЫД.АвторВыд |
|||
28
AllJoke
31.08.15
✎
12:40
|
Запрос правильный. В данных беда. Проверяй данные.
|
|||
29
AllJoke
31.08.15
✎
12:41
|
Убери параметры. Или за весь период сотвори.
|
|||
30
wmonref
31.08.15
✎
12:50
|
(29) Без изменений...
Проверил ВЫБРАТЬ НаправлениеОсновная.Ссылка.Заказ КАК ЗаказВыд, НаправлениеОсновная.Автор КАК АвторВыд, НаправлениеОсновная.Сумма КАК СуммаВыд ИЗ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная Цифры в "СуммаВыд" точно есть |
|||
31
BuHu
31.08.15
✎
12:51
|
тип реквизитов "Автор" во обеих табличных частях одинаков ?
|
|||
32
AllJoke
31.08.15
✎
12:53
|
ВЫБРАТЬ
НаправлениеОсновная.Ссылка.Заказ КАК ЗаказВыд, НаправлениеОсновная.Автор КАК АвторВыд, НаправлениеОсновная.Сумма КАК СуммаВыд ИЗ Документ.НаправлениеНаВыплатуГонораров.Основная КАК НаправлениеОсновная где НаправлениеОсновная.Автор В (ВЫБРАТЬ НачислениеОсновная.Автор КАК Автор, ИЗ Документ.НачислениеГонораров.Основная КАК НачислениеОсновная ГДЕ НачислениеОсновная.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода ) Что возвращает? |
|||
33
wmonref
31.08.15
✎
12:53
|
(31) Ой пля.... :)
|
|||
34
wmonref
31.08.15
✎
12:56
|
Всем спасибо большое!!
Тип реквизитов "Автор" разные в ТЧ документов... |
|||
35
wmonref
31.08.15
✎
12:56
|
(рукалицо)
|
|||
36
AllJoke
31.08.15
✎
12:57
|
ммда...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |