Вхождение таблицы в другую таблицу в запросе #792103


#0 by kolts23381
н3, х3, к3 И есть таблица н1, х1, к1 Как проверить что во второй таблице есть соответствующая строка (по условию )для каждой строки из первой таблицы. Строки сгруппированы и повторяющихся нет. В цикле могу сделать, но как это сделать в запросе.
#1 by DrShad
собрать ключи и сравнить
#2 by kolts23381
Условие равенства строк т1.н = т2.н и т1.х = т2.х и т1.к >= т2.к
#3 by Fram
в чем проблема то?
#4 by Fram
левое соединие и проверка на нулл
#5 by Неверный Параметр И
Если в первая лефтджоин вторая есть хоть один нулл от второй, то не для всех.
#6 by kolts23381
По идее так Select COUNT FROM Т2 LEFT JOIN Т1 ON Т1.Н = Т2.Н   AND Т1.К >= Т2.К WHERE Т1.Н IS NULL   Если количество равно нулю, то все нормально. Сейчас буду проверять
#7 by Fram
ну если ты первую и вторую таблицы местами не перепутал, то сработает
#8 by kolts23381
WHERE Т1.Н IS NULL оставляет только те записи из первой таблицы которых нет во второй. Если таких записей нет то первая таблица входит во вторую
#9 by Неверный Параметр И
Селект топ 1 1 и проверка на пустоту запроса выгоднее
#10 by Zhuravlik
Добавляем поле "Счетчик" - для первой таблицы заполняем как 1, для второй -1. Потом объединение по ключевым полям + свертка, и исключение нулевых. То что осталось - разница. Там где счетчик положительный - для первой таблице, иначе - для второй. Соотв. по оставшимся записям можно судить было ли вхождение.
#11 by kolts23381
Интересный способ. Проверю если первый не получится.
#12 by kolts23381
Да перепутал таблицы. Не так соображаю уже как днем.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С