Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
14.01.2014, 15:42
|
|||
---|---|---|---|
SQL запрос для двух таблиц |
|||
#18+
Есть две таблицы оригинал(field1,field2) и копия, в оригинале внесли(не внесли) изменения в поле field1, как построить SQL запрос , чтоб узнать были сделаны изменения в оригинале или нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2014, 16:03
|
|||
---|---|---|---|
SQL запрос для двух таблиц |
|||
#18+
если field2 это ключ то так Код: sql 1.
если ключа нет, то сложнее, но можно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2014, 17:51
|
|||
---|---|---|---|
SQL запрос для двух таблиц |
|||
#18+
Dima T, Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.01.2014, 10:08
|
|||
---|---|---|---|
SQL запрос для двух таблиц |
|||
#18+
можно ли использовать в качестве ключа номер записи, ведь кол-во записей что в копии, что в оригинале одинаково..., что-то типа select recno() as _key1, * from t1 full join (select recno() as _key1, * from t2) t2 on t1._key1 = t2._key1...? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.01.2014, 11:18
|
|||
---|---|---|---|
|
|||
SQL запрос для двух таблиц |
|||
#18+
q1w1e1, Нельзя. Так как в этом случае будет важно не только совпадение ключей в полях field2, но еще и порядок следования записей в каждой из таблиц... А этот параметр сложно поддается прогнозированию... примерно в такой же степени, как прогнозирование погоды... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.01.2014, 19:42
|
|||
---|---|---|---|
SQL запрос для двух таблиц |
|||
#18+
q1w1e1можно ли использовать в качестве ключа номер записи, ведь кол-во записей что в копии, что в оригинале одинаково..., что-то типа select recno() as _key1, * from t1 full join (select recno() as _key1, * from t2) t2 on t1._key1 = t2._key1...? если есть уверенность что PACK не было, то можно. Только язык SQL не имеет такого понятия как номер записи, поэтому советую сделать сначала выборку в курсор через SCAN, а потом как я выше писал. Примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Более универсальный вариант отсортировать обе таблицы по field1+field2 и идти сканом по обоим сравнивая на больше/равно/меньше. Так можно вычислить все изменения включая удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582776]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 255ms |
0 / 0 |