|
Сравнение 2х таблиц данных | ☑ | ||
---|---|---|---|---|
0
nulback
26.01.18
✎
14:55
|
Добрый день. Уважаемые подскажите пожалуйста, необходимо сравнить 2 таблицы значений, но не просто вывести сообщение что они равны или нет, а вывести различные строки и разницу в количестве между ними.
Например 2 таблицы имеют следующие колонки: Номенклатура, Единица, Количество. Необходимо вывести те строки, где номенклатуры нет в какой либо из таблиц, либо где существует разница между количеством из одной и другой таблицы. Спс. |
|||
1
wayss
26.01.18
✎
14:57
|
(0) если нет дублей то запросом на раз сравнивается.
|
|||
2
Darych
26.01.18
✎
14:58
|
(0) запросом.. тз в вп и вуаля
|
|||
3
Timon1405
26.01.18
✎
15:03
|
1) Добавить к первой таблице колонку, заполнить ее числом 1.
2) Добавить ко второй таблице одноименную колонку, заполнить ее числом -1. 3) циклом по 2м таблицам сложить 2 таблицы в одну. 4) ОбщаяТаблица.Свернуть("ВсеИсходныеКолонки","НоваяКолонка"); 5) в общей таблице все что в новой колонке совпадает -одинаковое в 2х исходных, то что с +1 - есть только в 1й таблице, что с "-1" - есть во второй таблице |
|||
4
Timon1405
26.01.18
✎
15:04
|
*5) все что в новой колонке =0 - совпадает
|
|||
5
Darych
26.01.18
✎
15:05
|
(3,4) эх.. вспомнилась тут же 7.7 ))
|
|||
6
Optan
26.01.18
✎
15:11
|
Выбирай в зависимости от условий задачи:
http://catalog.mista.ru/public/326983/ |
|||
7
hhhh
26.01.18
✎
15:16
|
(5) ну Таблицы Значений практически не отличаются. Берешь программу для 7.7, вставляешь в 8. Всё.
|
|||
8
nulback
26.01.18
✎
15:21
|
(2)
Запросом как то не получается. выходит все строки различные
разница у каждого своя. Не понимаю |
|||
9
Darych
26.01.18
✎
15:25
|
бред какой... что за запрос?
|
|||
10
nulback
26.01.18
✎
15:27
|
(9) 2 таблицы в запрос, далее надо найти где количество в 2-х таблицах если взять разницу не равно 0 и найти потом где есть отличные строки по номенклатуре.
|
|||
11
arsik
гуру
26.01.18
✎
15:28
|
ВЫБРАТЬ
|
|||
12
wayss
26.01.18
✎
15:31
|
(8)
|ВЫБРАТЬ | Т1.Склад, | Т1.Номенклатура, | Т1.Качество, | Т1.ХарактеристикаНоменклатуры, | Т1.СерияНоменклатуры, | Т1.КоличествоОстаток |ПОМЕСТИТЬ втТ1 |ИЗ | &Т1 КАК Т1 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Т2.Склад, | Т2.Номенклатура, | Т2.ХарактеристикаНоменклатуры, | Т2.Качество, | Т2.СерияНоменклатуры, | Т2.КоличествоОстаток |ПОМЕСТИТЬ втТ2 |ИЗ | &Т2 КАК Т2 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втТ1.Склад, | втТ1.Номенклатура, | втТ1.ХарактеристикаНоменклатуры, | втТ1.Качество, | втТ1.СерияНоменклатуры, | втТ1.КоличествоОстаток, | 0 КАК Порядок |ИЗ | втТ1 КАК втТ1 |ГДЕ | НЕ (втТ1.Склад, втТ1.Номенклатура, втТ1.ХарактеристикаНоменклатуры, втТ1.Качество, втТ1.СерияНоменклатуры, втТ1.КоличествоОстаток) В | (ВЫБРАТЬ | втТ2.Склад, | втТ2.Номенклатура, | втТ2.ХарактеристикаНоменклатуры, | втТ2.Качество, | втТ2.СерияНоменклатуры, | втТ2.КоличествоОстаток | ИЗ | втТ2 КАК втТ2) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | втТ2.Склад, | втТ2.Номенклатура, | втТ2.ХарактеристикаНоменклатуры, | втТ2.Качество, | втТ2.СерияНоменклатуры, | втТ2.КоличествоОстаток, | 1 |ИЗ | втТ2 КАК втТ2 |ГДЕ | НЕ (втТ2.Склад, втТ2.Номенклатура, втТ2.ХарактеристикаНоменклатуры, втТ2.Качество, втТ2.СерияНоменклатуры, втТ2.КоличествоОстаток) В | (ВЫБРАТЬ | втТ1.Склад, | втТ1.Номенклатура, | втТ1.ХарактеристикаНоменклатуры, | втТ1.Качество, | втТ1.СерияНоменклатуры, | втТ1.КоличествоОстаток | ИЗ | втТ1 КАК втТ1)"; |
|||
13
nulback
26.01.18
✎
15:39
|
(11) (12) спс но только тут нет разницы по количеству. Если добавить условие что колтаб1 - колтаб2 <> 0 , будет задваивать резльутат по номенклатуре, и будет получатся такой список
Номенклатура1 колвотаб1 - 12 номенклатура1 колвотаб2 - 14, а надо просто вывести номенклатура1 колворазница - 2 |
|||
14
arsik
гуру
26.01.18
✎
15:51
|
(13) Сгруппировать и Кол1-Кол2
ВЫБРАТЬ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |