Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: 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 вся ветка

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.029 c
5-1127855926
Proxytel
2005-09-28 01:18
2006.03.26
Как отловить клик над конкретной ячейкой StringGrid ?


2-1142249487
dera
2006-03-13 14:31
2006.03.26
как рисовать на рисунке (bmp) , который загружен в Image?


10-1114352917
VVP7%
2005-04-24 18:28
2006.03.26
Регистрация сервера в системе.


15-1140706709
ArtemESC
2006-02-23 17:58
2006.03.26
Чем смотреть swf?


15-1141469577
MadAngel
2006-03-04 13:52
2006.03.26
Помогите починить ноут