|
|
|
Delete * from Table LEFT JOIN Query on Table.ID=Query.ID where (Query.ID is Null)
|
|||
|---|---|---|---|
|
#18+
Может ли работать? В Table поле ID - ключевое, в Query такое же поле выбирается селектом ключевого поля другой таблицы. Если вместо Query подставить другую таблицу с ключевым полем, то Delete естественно работает. Каков выход - творить промежуточную таблицу, или в селекте все же можно что-то поправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 11:23:29 |
|
||
|
Delete * from Table LEFT JOIN Query on Table.ID=Query.ID where (Query.ID is Null)
|
|||
|---|---|---|---|
|
#18+
А чего не работает-то? Запрос что-ль необновляемый? Тогда вместо Left Join используй Where ID Not In (Select ID From Query) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 11:26:43 |
|
||
|
Delete * from Table LEFT JOIN Query on Table.ID=Query.ID where (Query.ID is Null)
|
|||
|---|---|---|---|
|
#18+
На просмотр работает, удалять не дает. Not In делал, но мне показалось, что там тормоза порядочные. Вообще, можно ли объявить АБСОЛЮТНО правильный (т.е. самый оптимальный) запрос на удаление из таблицы записей, которых нет в другом ЗАПРОСЕ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 11:29:47 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32656293&tid=1672348]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 347ms |

| 0 / 0 |
