Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПАМАГИТЕ!!! составить запрос в Access / 8 сообщений из 8, страница 1 из 1
06.09.2004, 21:39:31
    #32682272
ПАМАГИТЕ!!! составить запрос в Access
Знаю, что бестолочь, но и бестолочам тоже иногда задания дают...
Короче, вводная такова:
Есть таблица ненормализованная, примерно с такой схемой:
ID, Region, Goods, Price
и такими данными:
1, Москва, Тык, 10
2, Москва, Мык, 15
3, Москва, Прыг, 20
4, Москва, Шлеп, 13
5, Москва, Бряк, 11
6, Питер, Хмык, 16
7, Питер, Втык, 50
8, Питер, Клык, 22
9, Саратов, Хряк, 13
10, Саратов, Шмяк, 10
....
Очень надо СРОЧНО написать запрос, который бы выдал таблицу с 2-мя или 3-мя (кол-во значения не имеет) самыми дорогостоящими Goods по каждому региону:
3, Москва, Прыг, 20
2, Москва, Мык, 15
7, Питер, Втык, 50
8, Питер, Клык, 22
9, Саратов, Хряк, 13
10, Саратов, Шмяк, 10

Помогите!!!! Не дайте пропасть страждущему! Целый день бьюсь аки муха о стекло и нихрена не выходит....
...
Рейтинг: 0 / 0
06.09.2004, 22:28:56
    #32682285
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПАМАГИТЕ!!! составить запрос в Access
Шмяк-бряк :) Гыгы

SELECT ID, Region, Goods, Price
FROM mytable
where (select Count(ID) from mytable as b where b.price>mytable.price and mytable.region=b.region)<2;
...
Рейтинг: 0 / 0
06.09.2004, 23:26:19
    #32682302
ПАМАГИТЕ!!! составить запрос в Access
У-у-у, вот же блин черепа живут... Завидую...
Спасибо! Работает!!! Теперь хочется понять как оно работает, ...но это уже только после вожделенного пива. Буду пить за ИНТЕЛЛЕКТ!!!
Тут вот еще нарыл, пока ответа дожидался

SELECT DISTINCT [Region], [Item], [Price]
FROM Test AS t
WHERE [Item] & [Price]
IN
(SELECT TOP 3 [Item] & MAX([Price])
FROM [Test] AS tt
WHERE tt.[Region]=t.[Region]
GROUP BY [Item]
ORDER BY MAX([Price]) DESC)
ORDER BY [Region], [Price] DESC , [Item];

И тоже нихрена не понял как оно работает, но работает....
...
Рейтинг: 0 / 0
06.09.2004, 23:41:28
    #32682307
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПАМАГИТЕ!!! составить запрос в Access
И в одном, и в другом случае в подзапросе один из операндов в условии вычисляется динамически из обрабатываемой записи таблицы (например: b.price>mytable.price and mytable.region=b.region - b.price и b.region берутся "извне" скобок).

Я в подзапросе "нумерую" записи, отталкиваясь от цены и беру две записи с номерами 0 и 1 для каждого региона; а у тебя они по цене сортируются и берется две первых.

У меня будет выдавать больше 2-х записей, если в одном регионе несколько товаров продавалось по равной цене.

В твоем запросе дополнительная группировка (distinct), без которой можно обойтись, если в него согласно условию включить ID. Тогда будут дублироваться записи с одинаковым регионом, товаром и ценой.
...
Рейтинг: 0 / 0
07.09.2004, 00:07:06
    #32682312
ПАМАГИТЕ!!! составить запрос в Access
Дыша пивными парАми на монитор и вглядываясь косеющим взглядом на клаву из последних ускользающих трезвых сил выбиваю пальцами:

СПЫ..тьфу.. СПУСЫ... тьфу ты...СПИСЫБА БУЛЬШОЙ... опять не так...
СПАСЫПА ПАЛЬШИЙ... тьфу, ...кароче, я апять за бутылкой палез...
итак...
ЗА ТВОЙ ПЫТЛИВЫЙ УМ и НЕЛЕННОСТЬ БАЛЬШОЕ ТЕБЕ МУШИНОЕ СПАСИБО!!! :-)
А я это... буль-буль, кхэк, хе-хе и хр-р-р
...
Рейтинг: 0 / 0
07.09.2004, 00:41:45
    #32682317
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПАМАГИТЕ!!! составить запрос в Access
Geo, на тебя нахрюкали
...
Рейтинг: 0 / 0
07.09.2004, 01:02:11
    #32682318
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПАМАГИТЕ!!! составить запрос в Access
:)
...
Рейтинг: 0 / 0
07.09.2004, 01:37:11
    #32682322
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПАМАГИТЕ!!! составить запрос в Access
2Geo
молчишь- молчишь, а потом как скажешь!

Видно придется тобе скомандовать, кохда можно рот закрывать.

...
Вот живут же художники...


(с выражением лица)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПАМАГИТЕ!!! составить запрос в Access / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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