Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
как удалить записи которые выдает запрос:
with tree (id) as
(
.....
)
select from tree
where tree.id = 5

то есть както надо delete вкорячить. Я по разному попытался но не осилил. Гугл выдает примеры где нет селекта после скобок.
11 авг 16, 12:59    [19528943]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Хочузнать22,

замена слова select на слово delete не помогает?
11 авг 16, 13:03    [19528972]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
iap
Хочузнать22,

замена слова select на слово delete не помогает?

сейчас проверю (там просто с join)
11 авг 16, 13:05    [19528989]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Хочузнать22
там просто с join
То есть, мы тут видим одно, а вопрос касался совсем другого?
11 авг 16, 13:08    [19529012]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
не помогает. Кроме того получится delete from tree?
там запрос вот какой (я в более простой форме написал)

with tree (id) as
(
.....
)
select * from tree
join table on id = tree.id
where tree.id = 5


нужно сделать delete from table причем еще сложность что там нет уникального id а строки определяются набором полей
(delete from table where id = 5 and field = 7 and field2 = 8)
11 авг 16, 13:10    [19529025]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
вот так еще лучше


набор записей:
with tree (id, field1, field2) as
(
.....
)
select id, field1, field2 from tree
join table on id = tree.id
where tree.id = 5


удалить записи у которых поля равны полям из предыдущего запроса
delete from table where id = 5 and field1 = 7 and field2 = 8
11 авг 16, 13:13    [19529039]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
DELETE T FROM [table] T JOIN [tree] Tr ON T.id=Tr.id WHERE T.id=5 AND T.field1=7 AND T.field1 = 8;
???
11 авг 16, 13:18    [19529075]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
iap
DELETE T FROM [table] T JOIN [tree] Tr ON T.id=Tr.id WHERE T.id=5 AND T.field1=7 AND T.field1 = 8;
???

похоже работает, с меня пиво.
11 авг 16, 18:41    [19531050]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Хочузнать22
iap
DELETE T FROM [table] T JOIN [tree] Tr ON T.id=Tr.id WHERE T.id=5 AND T.field1=7 AND T.field1 = 8;

???

похоже работает, с меня пиво.
1 баррель?
11 авг 16, 19:09    [19531154]     Ответить | Цитировать Сообщить модератору
 Re: Удалить записи сделанные в выборке при помощи with (tree structrure)  [new]
Хочузнать22
Guest
iap
Хочузнать22
пропущено...

похоже работает, с меня пиво.
1 баррель?

1 виртуальная бутылка
11 авг 16, 19:55    [19531263]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить