Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.01.2011, 13:30
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
есть две таблицы табл1 t1p1123 табл2, связана с первой по полю t1p1 t2p1t1p1t2p2111221312422532 Надо удалить из первой таблицы только те записи, у которых в табл2 поле t2p2=2, но если во второй таблице есть ссылки на эти записи, кроме t2p2=2, то их надо оставить(блин голову сломал, пока написал, и всё равно не понял), короче , надо в первой таблице удалить только запись с кодом 3, так как кода 1 и 2, присутствуют во второй таблице, не только t2p2=2, но и t2p2=1... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.01.2011, 13:42
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
как-то так Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.01.2011, 14:37
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
Условие "читается" так: 1. Есть записи с кодом t2.p2=2 2. Нет записей с кодом t2.p2<>2 Факт существования или не существования определяется подзапросом EXISTS(), значит, получаем такой запрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Обратите внимание, что в подзапросе EXISTS связывается таблица t2 сама с собой, поскольку в директиве FROM указана только таблица t2. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.01.2011, 14:39
|
|||
---|---|---|---|
|
|||
SQL запрос |
|||
#18+
сходи лучше на фоксклаб, отметься http://forum.foxclub.ru/read.php?29,490876,page=2 там ДЕ формы дурацким обозвали ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.01.2011, 19:26
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
Чего сказать, просто любители пользоваться (или изображать из себя) знатоков SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 05:22
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
спасибо, правда что-то два последних сообщения не догоняю..., при чём тут DE(DataEnvironment), посмотрел ссылку, ясности не добавило, и вообще не причисляю себя ни к фанатам DE,CA, SQL-запросов и любителей циклов, где что удобней, то и применяю в циклах запросы, запросы зацикливаю...люблю пользоваться индексами и использовать в конструкциях (delete, count, sum...) опцию while, чтоб не сканировать всю таблицу...но иногда приходится прибегать к SQL(это как вечный вопрос, что лучше и когда: seek или locate, seek быстрее, но Locate удобней и больше возможностей...)...что-то меня понесло :-))..ещё раз спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 07:02
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
ВладимирМ, что-то продолжил таблицы t1 и t2, Insert into t1 values (4) Insert into t1 values (5) Insert into t2 values (6,4) Insert into t2 values (7,5) Так по этой конструкции sql-удаления она удалила эти записи в t1, хотя они должны были остаться не удалёнными... t2p1t1p1t2p2111 221312 422 532643753 Просто хотелось объяснить как можно проще и понятней, но вышло, как всегда... t1p1 это код субъекта;t2p2 это код договора, так вот надо удалить этих субъектов из t1, у кого в t2(промежуточная таблица между субъек. и договорами), больше нет договоров..., т.е. при удалении договора 2 (t2p2=2), мы должны удалить всех субъектов которые отмечены в этом договоре и не встречаются в других договорах...о, пока писал всё разложилось по полочкам... наверное и пишут не только чтоб ответили, но и самому понять, а если и ответят, то это вообще будет счастье...:-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 07:19
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
q1w1e1 наверное и пишут не только чтоб ответили, но и самому понять, а если и ответят, то это вообще будет счастье...:-))) Чукча писатель однако Ты мой пост смотрел? я тебе как удалить написал. селект выбирает что удалить надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 07:26
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
q1w1e1т.е. при удалении договора 2 (t2p2=2), мы должны удалить всех субъектов которые отмечены в этом договоре и не встречаются в других договорах... Если так, то ты не стой стороны задачу решаешь. Надо сначала удалить все ссылки на договор, а потом удалять договор и субъектов, на которых нет ссылок. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 07:36
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
Dima T, Смотрю, однако, пытаюсь понять, протестировать на граничные условия..., спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 07:47
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
Dima T, У меня так и было в начале, удалял в промежуточной базе ссылки, а потом из субъектов,, но там где-то закралась ошибка, что спустя полгода трудно восстановить, и решая в срочном порядке, чем искать ошибку, делаем десять новых ошибок, и пошла цепная реакция...:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 08:24
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
q1w1e1Dima T, У меня так и было в начале, удалял в промежуточной базе ссылки, а потом из субъектов,, но там где-то закралась ошибка, что спустя полгода трудно восстановить, и решая в срочном порядке, чем искать ошибку, делаем десять новых ошибок, и пошла цепная реакция...:-) Это не повод начать решать задачу заведомо не с той стороны. Удали подвисшие субъекты без ссылок, сделай проверку наличия таких записей и ищи ошибку в своем коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.01.2011, 09:00
|
|||
---|---|---|---|
SQL запрос |
|||
#18+
ошибки в коде нет, я останавливаю программу перед удалением, копирую из дебуггера в коммандное окно этот delete from заменяю на select *, чтоб посмотреть, удаляемые записи, в начале включаются посторонние записи, потом опять этот select и всё нормально, как и должно быть(видать курсор сдвигается...)... вот смотрю relation, фильтры, set key, хотя по идее Sql -не должен это учитывать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1584627]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 294ms |
total: | 438ms |
0 / 0 |