Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.01.2015, 13:23
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
Доброго времени суток! Подскажите пожалуйста, есть ли возможность в фокспро сравнить запись одной таблицы, с записью в другой, и если они не совпадают, добавить эту запись в одну из этих таблиц. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.01.2015, 16:17
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
Da mojno..poprobuy EXISTS SQL zapros ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.01.2015, 18:58
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
UTF, А можно пример запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.01.2015, 15:49
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 11:12
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
UTF, Вы наверно меня не так поняли, мне нужно сравнить всю строку, т.е. имеются две одинаковые по структуре таблицы, я сравниваю полностью всю строку одной таблицы, со строками другой таблицы. И если все столбцы этой строки совпадают со сверяемой таблицей, то я эту строку не добавляю в таблицу, иначе добавляю. Иначе говоря сверяю полную идентичность строки, если хоть какая то запись строки разнится, то эту строку добавляю в таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 12:22
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
IF ("Select (Col1+Col1+Col...) From Table" !=(Text1.Text+Text2.Text....)) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 12:45
|
|||
---|---|---|---|
проверка на совпадение записей |
|||
#18+
mag034 Проверьте UNION SELECT * FROM table1 ; UNION ; SELECT * FROM table2 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 16:50
|
|||
---|---|---|---|
проверка на совпадение записей |
|||
#18+
mag034UTF, Вы наверно меня не так поняли, мне нужно сравнить всю строку, т.е. имеются две одинаковые по структуре таблицы, я сравниваю полностью всю строку одной таблицы, со строками другой таблицы. И если все столбцы этой строки совпадают со сверяемой таблицей, то я эту строку не добавляю в таблицу, иначе добавляю. Иначе говоря сверяю полную идентичность строки, если хоть какая то запись строки разнится, то эту строку добавляю в таблицу. Правильно он понял. Это один из возможных вариантов решения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Это, так сказать, решение "в лоб". Достаточно трудоемкое, поскольку придется перечислять все поля. Однако и самое надежное. Здесь нет неких "умолчаний", которым должны удовлетворять данные таблиц. Кроме того, данное решение легко изменяется под уточняющие требования. Например, сравнение только по некоторым, а не по всем полям... Решение, предложенное sg12 исходит из предположения, что в таблицах нет дубликатов. В смысле, в самой таблице Table1 нет совершенно одинаковых записей. Объединение таблиц при помощи UNION все дубликаты автоматически удалит. Даже если эти дубликаты были в одной таблице. Решение через формирование строки Col1+Col1+Col+.. предполагает, что общая длина полученного выражения не превышает 254 символов. Иначе будет ошибка выполнения Select-SQL. Можно еще решить задачу через формирования контрольных сумм строк SYS(2007). В общем, разные есть варианты... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 19:52
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
Спасибо всем большое за уделенное мне время! ВладимирМ, я получил искомый результат по Вашему запросу. А как правильнее добавить полученные строки в table2 ? Можно ли вывести полученные строки в отдельную таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.01.2015, 20:11
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
как в таблицу загнать нашел - добавить в конце "into table3.dbf", а грамотно ли будет добавить во вторую таблицу через третью или все таки можно это сделать на прямую? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.01.2015, 03:13
|
|||
---|---|---|---|
проверка на совпадение записей |
|||
#18+
mag034как в таблицу загнать нашел - добавить в конце "into table3.dbf", а грамотно ли будет добавить во вторую таблицу через третью или все таки можно это сделать на прямую? Для VFP9 - можно. Для младших версий - только через таблицу-посредник Если речь идет о VFP9, то примерно так Код: sql 1. 2. 3.
Для младших версий FoxPro используются временная таблица с последующим APPEND FROM. Дело в том, что в младших версиях FoxPro Insert-SQL может вставлять только по одной записи за раз. Просто синтаксис не позволит это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.01.2015, 09:51
|
|||
---|---|---|---|
|
|||
проверка на совпадение записей |
|||
#18+
ВладимирМ, Спасибо большое Владимир! У Вас такие большие познания в SQL и VFP, что можно позавидовать )). А можно будет с Вами напрямую связываться через агент и аську? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.01.2015, 10:35
|
|||
---|---|---|---|
проверка на совпадение записей |
|||
#18+
тоже Выбирает все записи из Таb1, которых нет в Tab2 SELECT * From Tab1 WHERE Id NOT IN (SELECT Id From Tab2) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.01.2015, 11:56
|
|||
---|---|---|---|
проверка на совпадение записей |
|||
#18+
В Фоксе время словно остановилось, 2004 год: http://www.sql.ru/forum/127959/kak-vybrat-ne-sovpadaushhie-stroki-iz-dvuh-tablic?hl=exists ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582461]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 152ms |
0 / 0 |