powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / удалить выбранное select'ом. как?
6 сообщений из 6, страница 1 из 1
удалить выбранное select'ом. как?
    #32314258
kamuzon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы
t1, -- используемое поле в запросе id, newbill, blockbill
t2, -- userid

как удалить из t2 строки where id=userid and newbill>=blockbill?

Пробовал уже многими вариантами, не получается объединить такой запрос в одном. Пользовать select id from t1 where newbill>=blockbill, а потом на каждый userid делать delete, как-то мягко говоря некрасиво.

Пробовал такой:
delete from t2 having userid = (select id from t1 where newbill<blockbill)
ругается так
Warning: SQL error: [IBM][CLI Driver][DB2/2] SQL0104N An unexpected token "from t2 having userid = (sele" was found following "delete ". SQLSTATE=42601
Разве после delete может быть ещё что-то, кроме from?

delete from only
Вообще не понял как строить запрос, если в запросе используются две таблицы.

Такой вариант тоже не прокатывает
WITH yubDEL (uid) AS (select id from t1,t2 where id=userid and newbill>=blockbill) delete from t2 where uid=userid
Ругается так:
Warning: SQL error: [IBM][CLI Driver][DB2/2] SQL0104N An unexpected token "delete" was found following "d newbill". SQLSTATE=42601


Как всё-таки выбрать из одной таблицы строки по условию в этой же таблице и удалить строки с соответсвующими идентификаторами во второй таблице в одном запросе?

DB2/2 v7.2 fix10a
...
Рейтинг: 0 / 0
удалить выбранное select'ом. как?
    #32314263
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
delete from t2 
where userid in (select id from t1 where newbill >= blockbill)
...
Рейтинг: 0 / 0
удалить выбранное select'ом. как?
    #32314268
kamuzon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто работает. Огромное спасибо.
Где в доке написано про этот where IN, в search-condition не нашёл. В where-clause так же нет этой информации. :-(
Есть ли ещё какие-нибудь суффиксы типа IN?
...
Рейтинг: 0 / 0
удалить выбранное select'ом. как?
    #32314271
kamuzon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл IN Predicate

Есть ли где-нибудь русская дока, а то сложно учить английский на доке по DB2.
...
Рейтинг: 0 / 0
удалить выбранное select'ом. как?
    #32314288
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмите книжку Грубера по SQL. Для начала
...
Рейтинг: 0 / 0
удалить выбранное select'ом. как?
    #32314318
kamuzon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь.
На этом сайте нашёл Мартина Грабера. 4ыре книги. Видимо http://www.sql.ru/books/book.aspx?bkid=110 самая последняя. Возьму её.
Ещё раз спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / удалить выбранное select'ом. как?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]