The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите составить запрос"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите составить запрос"  
Сообщение от Dip email on 26-Июн-06, 11:10 
Есть таблица, в таблице нас интересуют два столбца: id и ref. Столбец ref принимает значение id из других записей. Нужно сочинить запрос, который удалит из таблицы те записи, для id которых не существует записей, у которых ref равен этому id. Не знаю, понятно ли объяснил...
Помогите пожалуйста, моих познаний SQL не хватает. Тем более, что SQLite как-то странно толкует запросы... По опыту работы с MySQL - что-то с ним не так :(
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помогите составить запрос"  
Сообщение от ACCA (ok) on 26-Июн-06, 23:09 
>Есть таблица, в таблице нас интересуют два столбца: id и ref. Столбец
>ref принимает значение id из других записей. Нужно сочинить запрос, который
>удалит из таблицы те записи, для id которых не существует записей,
>у которых ref равен этому id. Не знаю, понятно ли объяснил...

Давай сначала получим список этих id:

SELECT src.ref FROM src_table AS src LEFT OUTER JOIN foreign_table AS dst ON src.ref=dst.id
   WHERE dst.id IS NULL;

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Помогите составить запрос"  
Сообщение от Wulf on 27-Июн-06, 00:48 
>Есть таблица, в таблице нас интересуют два столбца: id и ref. Столбец
>ref принимает значение id из других записей. Нужно сочинить запрос, который
>удалит из таблицы те записи, для id которых не существует записей,
>у которых ref равен этому id. Не знаю, понятно ли объяснил...
>
>Помогите пожалуйста, моих познаний SQL не хватает. Тем более, что SQLite как-то
>странно толкует запросы... По опыту работы с MySQL - что-то с
>ним не так :(

Потянет SQLite такую конструкцию или нет - не знаю, но Oracle должен :-)
delete from table where id not in (select ref from table)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру