Главная страница
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.052 c
3-1138887406
ilove
2006-02-02 16:36
2006.03.26
Национальные языки в IB/FB


15-1141648992
Piter
2006-03-06 15:43
2006.03.26
Как в PHP получить путь до папки с выполняемым скриптом?


15-1141288703
Mike Kouzmine
2006-03-02 11:38
2006.03.26
Вчера взломали мой компьютер.


6-1134327682
ZeFiR
2005-12-11 22:01
2006.03.26
Собственные страницы ошибок в TWebBrowser


2-1141966444
Mozart
2006-03-10 07:54
2006.03.26
Модем