|
Как быть? Нужен алгоритм! Не могу придти к решению - две таблицы в MySQL + Perl
|
|||
---|---|---|---|
#18+
Есть база в MySql: Есть таблица A: иванов | вася | 01.01.01 козлов | петя | 01.01.01 крылов | саша | 01.01.01 Есть таблица B: иванов | вася | 02.01.01 козлов | петя | 02.01.01 вагина | лена | 02.01.01 Задача получить: иванов | вася | 01.01.01 козлов | петя | 01.01.01 вагина | лена | 02.01.01 Т.е. то, что в B нет - из А удалить, то что в А нет - из B дописать, но при этом поверх писать нельзя - т.е. если уже запись такая (по первым двум полям) есть - то её нельзя перезаписывать. Как это реализовать? Начал с того, что запросил одну таблицу и построчно из неё давал запросы в другую - на наличие строк, и делал выводы.. потом обратно с другой таблицей. Куча запросов. Всё тормозит! Всё виснет! Проц перегревается.. :)) Подскажите, а то у меня нынче лыжи не едут! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2004, 23:02 |
|
Как быть? Нужен алгоритм! Не могу придти к решению - две таблицы в MySQL + Perl
|
|||
---|---|---|---|
#18+
SELECT * FROM table_A LEFT JOIN table_B ON table_A.fieldname = table_B.fieldname WHERE table_B.fieldname IS NULL по идее должно выдать все строки в таблице А, которых нет в таблице Б ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2004, 01:59 |
|
|
start [/forum/topic.php?fid=23&fpage=518&tid=1480030]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
3ms |
others: | 262ms |
total: | 382ms |
0 / 0 |