Имя: Пароль:
1C
1С v8
Правильный SQL запрос - сравнение 2 таблиц
↓ (Волшебник 02.12.2024 15:08)
0 anton_u
 
02.12.24
09:04
Добрый день, коллеги!
Есть проблема с таблицей Config в разных БД.
В buh155 Config - 73542 строк (обновляется без ошибок)
В buh158-02 Config - 73512 строк
Запросом, который написан ниже, пытаюсь посмотреть какие строки отличаются, но выдаёт 0. (пробовал БД менять местами в запросе).
SELECT *
FROM [buh155].[dbo].[Config]
WHERE NOT EXISTS
(SELECT * FROM [buh158-02].[dbo].[Config])

Далее потребуется строчки которые отличаются добавить в БД buh158-02.

PS: такими действиями хочу побороться с проблемой "Нарушена целостность структуры конфигурации".
Что пробовал: кэш и новый и подмены, создать новую БД и загрузить dt. Полностью скопировать таблицу конфиг, тоже не работает.

Буду благодарен за любую информацию.
1 mishaPH
 
02.12.24
09:51
(0) так в первой табличке у тебя строк меньше чем во второй. естественно что относительно первой не будет разницы со второй. переверни запрос.

А нет. че-то туплю с утра пардон.
2 mishaPH
 
02.12.24
09:09
(0) а ты селект не * а например по ИД строки или какому-то индексу чтоли составь из значений строк. а так помоему оно не сравнивает.
3 youalex
 
02.12.24
09:23
(0) "WHERE NOT EXISTS
(SELECT * FROM [buh158-02].[dbo].[Config])"

в твоем запросе выбраются все строки из [buh155].[dbo].[Config], если нет ни одной строки в [buh158-02].[dbo].[Config]

Как правильно, подсказывать не буду)
4 arsik
 
02.12.24
09:26
(0) Там же бинарник хранится. Это бесполезно.
5 mishaPH
 
02.12.24
09:50
(3) кстати да. че-то тут как-то странно и не так.
6 anton_u
 
02.12.24
14:50
(3) эххх, жаль. Всё таки, если знаешь правильный вариант - напиши, плиз, может кому-то будет полезно.
Мой вопрос("Нарушена целостность структуры конфигурации") решился по другому: программист 1С нашла решение через снятие с поддержки и возврат. Тут подробностей добавить не могу.
7 Волшебник
 
02.12.24
15:08
(6) Да и не надо. Надо было сразу обращаться к программисту, а не писать странные запросы.
Закон Брукера: Даже маленькая практика стоит большой теории.