Вниз
Скачать: CL | DM;

Как сравнить две таблицы   Найти похожие ветки 

← →
R.O.O.T ©   (2006-03-07 09:54) [0]

Господа подскажите у меня есть две таблицы. как сравнить данные в них т.е. какие записи несовпадают те выбрать и передать в третью таблицу


← →
stone ©   (2006-03-07 10:01) [1]

что значит не совпадают?
по каким полям? по ключевым или вообще?


← →
r.o.o.t ©   (2006-03-07 10:35) [2]

ну по двум трем полям


← →
Anatoly Podgoretsky ©   (2006-03-07 10:36) [3]

WHERE


← →
r.o.o.t ©   (2006-03-07 10:42) [4]

непонятно
допустим есть поле 1 и поле 2 в разных таблицах в которых хранятся идентичные данные допустим я в поле 2 добавлю 10 записаей как мне запросом вычислит разность т.е. эти 10 записей и переписать их в поле 1


← →
Fay ©   (2006-03-07 10:43) [5]

СУБД, конечно, DB2?


← →
r.o.o.t ©   (2006-03-07 10:43) [6]

Access


← →
Fay ©   (2006-03-07 10:47) [7]

Значит можно одним запросом.


← →
r.o.o.t ©   (2006-03-07 10:48) [8]

я понимаю что можно а вот чето неполучается  подскажите плиз


← →
stone ©   (2006-03-07 10:50) [9]


> r.o.o.t ©   (07.03.06 10:42) [4]
> непонятно
> допустим есть поле 1 и поле 2 в разных таблицах в которых
> хранятся идентичные данные допустим я в поле 2 добавлю 10
> записаей как мне запросом вычислит разность т.е. эти 10
> записей и переписать их в поле 1

Для начала неплохо бы изучить теорию БД, чтобы понять чем поле отличается от записи. Ну и основы SQL не помешают.


← →
r.o.o.t ©   (2006-03-07 10:57) [10]

все читал книгу Мартина Грубера но непойму как посторить запрос чтобы сравнить два поля в разных таблицах и выбрать разницу(в записях) в данных между этими полями


← →
evvcom ©   (2006-03-07 11:03) [11]

В стандарте SQL (92 вроде, может и раньше?) я нашел такой UNION JOIN. Как раз то, что надо, только вот ни в одной из СУБД, с какими хоть мал мальски работал, этого не реализовали. Тогда остается только
... full join ... minus ... inner join ...


← →
r.o.o.t ©   (2006-03-07 11:03) [12]

а попдробнее можно ??? плиз


← →
sniknik ©   (2006-03-07 11:12) [13]

несовпадающее по одной таблице (по второй аналогично. можно соеденить по union в один, только придется в подзапросе если запись делать)

SELECT t1.*  INTO Table3 FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.Field1=t2.Field1 WHERE t2.Field1 IS NULL

но вообще, множество идентичных таблиц наводит на мысль о неправильно построенной базе.


← →
sniknik ©   (2006-03-07 11:19) [14]

evvcom ©   (07.03.06 11:03) [11]
> full join ... minus
в аккессе такого синтаксиса нет.

r.o.o.t ©   (07.03.06 11:03) [12]
> а попдробнее можно ??? плиз
подробнее в справке по используемому движку. а в "общем" он тебе такого насоветует... (и все будет правдой, но относится к различным, а не твоему, "sql-ям")


← →
Sergey13 ©   (2006-03-07 11:25) [15]

Exists будет достаточно. Точнее Not Exists.


← →
msguns ©   (2006-03-07 11:44) [16]

1. Переписать в 3-ю таблицу все записи 1-й и 2-й таблиц
2. Удалить из 3-й таблице те записи, ключи которой имеются в 1-й и 2-й.

ЗЫ. Сама задача откровенно пованивает инвалидностью модели БД. (см. [13]


← →
r.o.o.t ©   (2006-03-07 13:35) [17]

ну инвалидностью непахнет просто у меня есть локальная бд в которой пользователь делал определенную работу и мне нужно данные которые он наработал сбросить на сервер БД трехзвенка. вот поэто я и думаю как лучше мне посторить алгоритм по которому можно вычеслить что есть на сервере а что есть на стороне клиента. Клиент работает в offline и неможет постоянно держать conect  с сервером


← →
sniknik ©   (2006-03-07 14:10) [18]

> как лучше мне посторить алгоритм
на начало работы дававай пустую таблицу тогда ВСЕ что там будет при сохранении будет новым... и ничего вычислять не надо. после сохранения ощищать. + добавь уникальный номер к этим "пакетам" на изменение, и будет аналог документа. можно вести историю, исправлять...


← →
Sergey13 ©   (2006-03-07 16:09) [19]

2[18] sniknik ©   (07.03.06 14:10)
>> как лучше мне посторить алгоритм
>на начало работы дававай пустую таблицу тогда ВСЕ что там будет при сохранении будет новым
Или вновь веденным старым. 8-)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.033 c
2-1142269570
alone
2006-03-13 20:06
2006.03.26
Система


2-1142262465
dera
2006-03-13 18:07
2006.03.26
В чем ошибка?


2-1142004004
dabreezy
2006-03-10 18:20
2006.03.26
TStringList глюк или нет?


2-1141979103
Гость111
2006-03-10 11:25
2006.03.26
Как запустить windows-кий калькулятор из программы.


11-1122728443
jumpingjack
2005-07-30 17:00
2006.03.26
Не компилируется KOL проект.




   Наверх