#0
by Loyt
Таблицу а4, б4 нужно соединить по левому соединению с таблицей б1, с1 б3, с3 По полю "б", но так, чтобы соединялось только один (первый) раз. (поле "б" во второй таблице уникально) В результате получить что-то типа а1, б1, с1 а2, б2, с2 Это возможно организовать в запросе?
#3
by Shurjk
Если не вдаваться в подробности того что ты написал а просто посмотреть на две начальных таблицы и ожидаемый результат то достаточно присоединить справа вторую таблицу к перовой по условию б=б.
#5
by Shurjk
Ндаа 1с породил кучу прогеров которые пишут запросы но не могут внятно сказать что в резулбтате него получиться. Щас еще вариантов на 200 постов будет.
#6
by Loyt
Обычное соединение - что-то типа такого ВЫБОР Таблица1.а Таблица1.б Таблица2.с ИЗ Таблица1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 ПО Таблица1.б = Таблица2.б Как это допилить до ? Нет, тогда строки 3 не получится, а строки 4 вообще не будет.
#12
by Aprobator
во млин, до чего интересно народ живет, все какие то матрицы пытается запросом в 1С получить! Сколько с 1С работаю - ни разу таких задач не возникало (
#14
by Ненавижу 1С
выбрать Т1.а, Т1.б, Т2.с из Т1 левое соединение (выбрать Т1.б как б, МИНИМУМ(Т1.а) как а из Т1 сгруппировать по Т1.б) КАК ТХ по ТХ.а=Т1.а левое соединение Т2 по ТХ.б=Т2.б
#18
by Shurjk
Ну на примере данных двух таблиц, там разжевывать не надо всего лишь напиши какие строки в результате будут.
#19
by rs_trade
условие интересно звучит. соединить по левому соединению... других вариантов не предлагать что ли?
#22
by Gr
вот пример двух таблиц при использовании правого соединения ты потеряешь запись Т1.а3 Т1.б3
#23
by Loyt
Имелось ввиду, что данные из первой таблице должны быть все, коряво выразился. Правое соединение не подходит тем более.
#24
by Gr
решение тоже верно, но более сложно, чем то, что в единственное что в синтакс. ошибка вместо ГРУППИРОВАТЬ надо СГРУППИРОВАТЬ
#25
by Shurjk
В условии не было что их потерять нельзя, там сделан упор на уникальное значение б во второй таблице.
#30
by Кириллка
IF OBJECT_ID(N'[tempdb].[dbo].[#Tbl1]') IS NOT NULL DROP TABLE #Tbl1 GO IF OBJECT_ID(N'[tempdb].[dbo].[#Tbl2]') IS NOT NULL DROP TABLE #Tbl2 GO CREATE TABLE #Tbl1 ( fld1 char PRIMARY KEY, fld2 char NOT NULL ) GO CREATE TABLE #Tbl2 ( fld1 char NOT NULL, fld2 char PRIMARY KEY ) GO INSERT INTO #Tbl1 (fld1, fld2) SELECT 'а1' as fld1, 'б1' as fld2 UNION ALL SELECT 'а2' as fld1, 'б2' as fld2 UNION ALL SELECT 'а3' as fld1, 'б2' as fld2 UNION ALL SELECT 'а4' as fld1, 'б4' as fld2 GO INSERT INTO #Tbl2 (fld1, fld2) SELECT 'б1' as fld1, 'с1' as fld2 UNION ALL SELECT 'б2' as fld1, 'с2' as fld2 UNION ALL SELECT 'б3' as fld1, 'с3' as fld2 GO SELECT Tbl.fld1 as fld1, Tbl.fld2 as fld2, DivTbl.T2_fld2 as fld3 FROM #Tbl1 as Tbl (NOLOCK) Tbl1.fld2 as fld2, Tbl2.fld2 as T2_fld2 FROM #Tbl1 as Tbl1 (NOLOCK) INNER JOIN #Tbl2 as Tbl2 (NOLOCK) ON Tbl2.fld1 = Tbl1.fld2 Tbl2.fld2 ) as DivTbl ON DivTbl.T1_fld1 = Tbl.fld1
#35
by Ненавижу 1С
если а2>а3, то а2 уж никак первым быть не может автор сам должен с упорядочиванием разобраться полагаю
#36
by 73
В а2 -во 2й строке, а3- в 3-ей. Значения их не указаны. Я имел ввиду, если в а2>а3, по результат как в не получится. А получится:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Левое соединение с переменными модуля в запросах
- Подскажите чайнику ... Что такое в запросах Левое соединение, полное соединение
- Как в СКД сделать "левое" соединение двух ноборов?
- Левое соединение в запросе (7.7)
- ЛЕВОЕ СОЕДИНЕНИЕ - как обеспечить уникальность в правой части
- Левое соединение только с одной (первой) строкой
- левое соединение 1с 8.2 через условие, работает как внутреннее
- Левое соединение с регистром сведений. Соединение по ресурсу.
- ЗУП 2.5 Косячное Левое соединение РС
В этой группе 1С
- ГТД в инвентаризации
- 8.2 - журнал документов, динамический список - большие объемы данных
- Посоветуйте мессенджер простой для локальной сети ...
- 8.2 Как обойти табличную часть на клиенте?
- пропал список баз в 1С
- Мигание значка 1с 8.х на панели задач
- Как программно в 1С получить адрес почты пользователя ?
- Обмен УТ 11 и БП 2.0 Редактирование правил обмена.
- БП 2.0: закрытие на 90.08.2 (а должно на 90.08.1)
- Установка сканера штрих кодов на Windows 7
- Получить лицензию из центра лицензирования?
- Сортировка критерия отбора
- Задача в УТ
- v8: СКД, как изменить заголовок отчета
- v8: РасчетныеЛисткиОрганизаций и СКД?
- СКД: программно убрать или добавить группировку
- RLS в УТ 11 - что значит в шаблонах "Т ИЗ Т"?
- Подключение BIZERBA к 1С
- Не проставляется автоматически подразделение на 26 счет при закрытии месяца в БП
- v8: Как убрать пробелы в коде справочника?