powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / удалить несвязанные строки
3 сообщений из 3, страница 1 из 1
удалить несвязанные строки
    #39688963
hurryup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть запрос
Код: sql
1.
2.
3.
4.
select * from addresses left  join users on addresses.session_key = users.session_key where users.session_key is null;
 session_key |   address    | session_key | username
-------------+--------------+-------------+----------
       10009 | john_address |             |



показывает строки из таблицы addresses у которых нет session_key в таблице users.

А каким запросом можно сделать удаление ?
...
Рейтинг: 0 / 0
удалить несвязанные строки
    #39690401
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hurryupДобрый день.

Есть запрос
Код: sql
1.
2.
3.
4.
select * from addresses left  join users on addresses.session_key = users.session_key where users.session_key is null;
 session_key |   address    | session_key | username
-------------+--------------+-------------+----------
       10009 | john_address |             |



показывает строки из таблицы addresses у которых нет session_key в таблице users.

А каким запросом можно сделать удаление ?

delete from addresses where session_key in
(select session_key from addresses left join users on addresses.session_key = users.session_key where users.session_key is null;
)
...
Рейтинг: 0 / 0
удалить несвязанные строки
    #39690530
hurryup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
256k,

спасибо большое. с небольшим изменением - получилось:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# delete from addresses where session_key in (select session_key from addresses left join users on addresses.session_key = users.session_key where users.session_key is null);
ERROR:  column reference "session_key" is ambiguous
LINE 1: ...elete from addresses where session_key in (select session_ke...
                                                             ^
# delete from addresses where session_key in (select addr.session_key from addresses as addr left join users on addr.session_key = users.session_key where users.session_key is null);
DELETE 1
test=# select * from addresses left  join users on addresses.session_key = users.session_key where users.session_key is null;
 session_key | address | session_key | username
-------------+---------+-------------+----------
(0 rows)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / удалить несвязанные строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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