Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Какой-то хитрый запрос / 5 сообщений из 5, страница 1 из 1
27.11.2005, 22:56
    #33402293
tanya.gav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой-то хитрый запрос
Ребята, очень нужно составить запрос. До этого момента я думала, что в них разбираюсь. Таблицы:клиенты,заказы,страны. Клиенты делают заказы, к заказу привязана страна. Нужно выбрать для каждого клиента страны, в которых он ещё не был. И это в одном запросе. Заранее спасибо.
...
Рейтинг: 0 / 0
28.11.2005, 01:04
    #33402315
Corba
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой-то хитрый запрос
как мне кажется всё просто:
1) естествено связываем идентификаторы таблиц.
2) делаем подзапрос и вычесляем страны в которых клиент был
3) добавляем подзаброс в условие запроса вот так WHERE .... NOT IN (SELECT ...)

PS
Весь запрос не пишу, только подсказку, а дальше думай сама, это говорят полезно.
...
Рейтинг: 0 / 0
28.11.2005, 01:33
    #33402328
AntonIgg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой-то хитрый запрос
Можно вот так:
Код: plaintext
1.
2.
3.
select * from strana s, client c
  where (s.id, c.id) not in (
     select idstrana, idclient from zakazi)
...
Рейтинг: 0 / 0
28.11.2005, 13:03
    #33403191
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой-то хитрый запрос
При таких раскладах:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create table country(
 country_id int,
 country_name varchar( 10 )
);

create table client(
 client_id int,
 client_name varchar( 10 )
);

create table order(
 country_id int,
 client_id int
);

Запрос будет таким:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT client_name, country_name
FROM country co, client cl
WHERE 
  NOT EXISTS(
    SELECT *
    FROM order o
    WHERE cl.client_id = o.client_id AND co.country_id = o.country_id
  )
Меня всегда IN смущал, оптимизатор его как-то настороженно воспринимает.
...
Рейтинг: 0 / 0
28.11.2005, 17:14
    #33404135
whirlwind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой-то хитрый запрос
Подзапросы - ацтой. Лефтджойном из стран по IS NULL и группировка.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Какой-то хитрый запрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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