11 / 11 / 3
Регистрация: 13.10.2016
Сообщений: 195
1

Временные таблицы

14.12.2016, 10:34. Показов 693. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть 2 запроса (внизу). Результат на выходе должен быть одинаковый, но нет.
Запрос 1 без временных таблиц (справочник соединие левое сам с собой).
Запрос 2 - тоже самое только разбито на временные таблицы (Справочник помещаю в ВТ, тот же Справочник в ВТ1 и потом ВТ+ВТ1 левое соединение).
Запрос 2 отрабатывает как должен. Запрос 1 отрабатывает не как левое соединение (несмотря на то что указано соединение Левое, в результате запроса отсутствуют строки у которых не нашлось пары при соединении).
В чем прикол?




1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 "ВЫБРАТЬ
        |   АТБ_ЗадачиПроекта.Ссылка,
        |   АТБ_ЗадачиПроекта.ДатаНачала КАК ДатаНачала,
        |   АТБ_ЗадачиПроекта.ДатаОкончания КАК ДатаОкончания,
        |   АТБ_ЗадачиПроекта.Родитель
        |ИЗ
        |   Справочник.АТБ_ЗадачиПроекта КАК АТБ_ЗадачиПроекта
        |ГДЕ
        |   АТБ_ЗадачиПроекта.Родитель В(&СправочникОбъект)
        |   И НЕ АТБ_ЗадачиПроекта.ПометкаУдаления
        |
        |СГРУППИРОВАТЬ ПО
        |   АТБ_ЗадачиПроекта.Ссылка,
        |   АТБ_ЗадачиПроекта.ДатаНачала,
        |   АТБ_ЗадачиПроекта.ДатаОкончания";
 
 
 
        "ВЫБРАТЬ
        |   АТБ_ЗадачиПроекта.Ссылка,
        |   АТБ_ЗадачиПроекта.ДатаНачала
        |ПОМЕСТИТЬ ВТ
        |ИЗ
        |   Справочник.АТБ_ЗадачиПроекта КАК АТБ_ЗадачиПроекта
        |ГДЕ
        |   АТБ_ЗадачиПроекта.Ссылка В(&СправочникОбъект)
        |   И НЕ АТБ_ЗадачиПроекта.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   АТБ_ЗадачиПроекта.Родитель
        |ПОМЕСТИТЬ ВТ1
        |ИЗ
        |   Справочник.АТБ_ЗадачиПроекта КАК АТБ_ЗадачиПроекта
        |ГДЕ
        |   АТБ_ЗадачиПроекта.Родитель В(&СправочникОбъект)
        |   И НЕ АТБ_ЗадачиПроекта.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТ.Ссылка,
        |   ВТ.ДатаНачала,
        |   СУММА(ВЫБОР
        |           КОГДА ЕСТЬNULL(ВТ1.Родитель, 0) = 0
        |               ТОГДА 0
        |           ИНАЧЕ 1
        |       КОНЕЦ) КАК Родитель
        |ИЗ
        |   ВТ КАК ВТ
        |       ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
        |       ПО ВТ.Ссылка = ВТ1.Родитель
        |
        |СГРУППИРОВАТЬ ПО
        |   ВТ.Ссылка,
        |   ВТ.ДатаНачала";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2016, 10:34
Ответы с готовыми решениями:

временные таблицы
я вычитал, что временные таблицы работают только во время работы скрипта T-SQL. я правильно понял?...

Временные таблицы?
Добрый день! Подскажите пожалуйста по задаче: Есть пользователи. Каждый из пользователей может...

Временные таблицы
Подскажите, плз, как можно определить , висит ли в памяти временная таблица? Если да , то чтобы ее...

Временные таблицы в Oracle
Подскажите, пожалуйста, как написать подобдое на PL\SQL : SELECT * INTO #tempt FROM v_adr;...

3
о_____О
Эксперт 1С
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
14.12.2016, 13:38 2
Четверг, возможно я плохо разбираюсь в запросах, но где в первом запросе левое соединение?
0
11 / 11 / 3
Регистрация: 13.10.2016
Сообщений: 195
14.12.2016, 14:45  [ТС] 3
сорри не тот запрос скинул. Запрос 1:


1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"ВЫБРАТЬ
        |   АТБ_ЗадачиПроекта.Ссылка,
        |   СУММА(ВЫБОР
        |           КОГДА ЕСТЬNULL(АТБ_ЗадачиПроекта1.Родитель, 0) = 0
        |               ТОГДА 0
        |           ИНАЧЕ 1
        |       КОНЕЦ) КАК Родитель,
        |   АТБ_ЗадачиПроекта.ДатаНачала
        |ИЗ
        |   Справочник.АТБ_ЗадачиПроекта КАК АТБ_ЗадачиПроекта
        |       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АТБ_ЗадачиПроекта КАК АТБ_ЗадачиПроекта1
        |       ПО АТБ_ЗадачиПроекта.Ссылка = АТБ_ЗадачиПроекта1.Родитель
        |ГДЕ
        |   АТБ_ЗадачиПроекта.Ссылка В(&СправочникОбъект)
        |   И НЕ АТБ_ЗадачиПроекта.ПометкаУдаления
        |   И АТБ_ЗадачиПроекта1.Родитель В(&СправочникОбъект)
        |   И НЕ АТБ_ЗадачиПроекта1.ПометкаУдаления
        |
        |СГРУППИРОВАТЬ ПО
        |   АТБ_ЗадачиПроекта.Ссылка,
        |   АТБ_ЗадачиПроекта.ДатаНачала";
0
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
14.12.2016, 15:14 4
Сначала отрабатывает соединение потом условия в ГДЕ
1
14.12.2016, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2016, 15:14
Помогаю со студенческими работами здесь

Временные таблицы sql
Как создать временную таблицу, причем чтобы для разных пользователей данные в этой временной...

Временные таблицы SQL и C#
Здравствуйте. Есть такая задача: В общем нужно несколько раз обращаться к временной таблице SQL....

Временные таблицы - объединить 2-е
Здравствуйте, проблема есть 2-е временные таблицы по 2-а столбца... идентичные по столбцам, но...

как создавать временные таблицы?
Кто-нибудь может подсказать как эффективнее создать временную таблицу для одного пользователя и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru