Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как две таблицы в одну склеить

Как две таблицы в одну склеить
Я
   1сЮлия
 
31.10.19 - 11:38
Добрый день!  Написала запрос
ВЫБРАТЬ
    СерииНоменклатуры.Ссылка.Наименование КАК Наименование,
    СерииНоменклатуры.Код КАК Код,
    СертификацияНоменклатуры.Ссылка КАК Док,
    СерииНоменклатуры.Владелец КАК Владелец
ПОМЕСТИТЬ Таблица1
ИЗ
    Справочник.СерииНоменклатуры КАК СерииНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СертификацияНоменклатуры КАК СертификацияНоменклатуры
        ПО (СертификацияНоменклатуры.СерияНоменклатуры = СерииНоменклатуры.Ссылка)
ГДЕ
    СерииНоменклатуры.ПометкаУдаления = ЛОЖЬ

СГРУППИРОВАТЬ ПО
    СертификацияНоменклатуры.Ссылка,
    СерииНоменклатуры.Ссылка.Наименование,
    СерииНоменклатуры.Владелец,
    СерииНоменклатуры.Код
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СерииНоменклатуры.Ссылка.Наименование КАК Наименование,
    СерииНоменклатуры.Код КАК Код,
    СертификацияНоменклатуры.Ссылка КАК Док,
    СерииНоменклатуры.Владелец КАК Владелец
ПОМЕСТИТЬ Таблица2
ИЗ
    Справочник.СерииНоменклатуры КАК СерииНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СертификацияНоменклатуры КАК СертификацияНоменклатуры
        ПО (СертификацияНоменклатуры.СерияНоменклатуры = СерииНоменклатуры.Ссылка)
ГДЕ
    СерииНоменклатуры.ПометкаУдаления = ЛОЖЬ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Т1.Наименование КАК Наименование,
    Т1.Код,
    Т1.Док,
    Т2.Наименование КАК Наименование1,
    Т2.Код КАК Код1,
    Т2.Док КАК Док2
ИЗ
    Таблица1 КАК Т1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица2 КАК Т2
        ПО Т1.Наименование = Т2.Наименование
            И Т1.Код <> Т2.Код
            И Т1.Владелец = Т2.Владелец нужно склеить Т1 и Т2,чтобы были ссылки с разными кодами и одинаковыми наименованиями,у которых есть ссылка на документ сертификация номенклатуры, и у которых нету ссылки на документ сертификация номенклатуры
 
 
   catena
 
1 - 31.10.19 - 11:52
А зачем две выборки? Одну временную таблицу можно использовать много раз.
ДОбавьте в вт признак наличия сертификации.

И еще: отделяйте текст от кода переводом строки, задавайте в тексте вопрос, а не вбрасывайте какую-то информацию. Проявите уважение к форумчанам, которые будут пытаться вам помочь.
   1сЮлия
 
2 - 31.10.19 - 11:56
Извините,пожайлуста.
   novichok79
 
3 - 31.10.19 - 11:58
объединить все?
   novichok79
 
4 - 31.10.19 - 12:00
определение "вычесть одну таблицу из другой" или найти различия больше подходит.

полное соединение
по Т1.Код <> Т2.Код
и Т1.Наименование=Т2.Наименование
и Т1.Владелец = Т2.Владелец

наверное так.
   novichok79
 
5 - 31.10.19 - 12:05
и да вторая таблица не нужна.
   novichok79
 
6 - 31.10.19 - 12:06
и выборка была бы такой

естьnull(Т1.Наименование, Т2.Наименование) КАК Наименование,
естьnull(Т1.Код, Т2.Код) КАК Код,
естьnull(Т1.Док, Т1.Док) КАК Док
   1сЮлия
 
7 - 31.10.19 - 12:27
Можете мне оптимальное решение с временной таблицей подсказать, там должны попадать двойники по наименованию с разными кодами  с сылкой на док где то она будет пустая,где то заполненная.
   catena
 
8 - 31.10.19 - 12:31
ВЫБРАТЬ
    СерииНоменклатуры.Ссылка.Наименование КАК Наименование,
    СерииНоменклатуры.Код КАК Код,
    СертификацияНоменклатуры.Ссылка КАК Док,
выбор когда СертификацияНоменклатуры.Ссылка есть NULL тогда ложь иначе истина конец как ЕстьДок 
    СерииНоменклатуры.Владелец КАК Владелец
ПОМЕСТИТЬ Таблица1
ИЗ
    Справочник.СерииНоменклатуры КАК СерииНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СертификацияНоменклатуры КАК СертификацияНоменклатуры
        ПО (СертификацияНоменклатуры.СерияНоменклатуры = СерииНоменклатуры.Ссылка)
ГДЕ
    СерииНоменклатуры.ПометкаУдаления = ЛОЖЬ;
ВЫБРАТЬ
    Т1.Наименование КАК Наименование,
    Т1.Код,
    Т1.Док,
    Т2.Наименование КАК Наименование1,
    Т2.Код КАК Код1,
    Т2.Док КАК Док2
ИЗ
    Таблица1 КАК Т1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица1 КАК Т2
        ПО Т1.Наименование = Т2.Наименование
            И Т1.Код <> Т2.Код
            И Т1.Владелец = Т2.Владелец
             и Т1.ЕстьДок <> Т2.ЕстьДок
   novichok79
 
9 - 31.10.19 - 12:34
(7) так уже подсказал, в (8) даже запрос написали.
   1сЮлия
 
10 - 31.10.19 - 12:42
Спавсио большое!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.