Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Запросы   Найти похожие ветки 

 
dumka   (2008-04-10 16:48) [0]

Привет всем!
Весь день пытаюсь решить задачу.
Для каждого из товара в таблице склад находит самый дешевый и самый дорогой заменитель, той же самой категории(колонка Kod_tov).Запрос должен выдать столько же записей, сколько их есть в таблице склад. В таком виде:
strih_kod  stoim_zac  kod_tov  max_strih_kod  Max_st min_strih_kod  Min_st
1             18р              1             2               40р.      24                4р.
2             40р.             1             2               40р.      24              4р.    
24             4р.             1             2               40р.      24               4р.

Я сделала так:
SELECT sklad.kod_tov, Min(sklad.stoim_zac) AS [Min-stoim_zac]
FROM sklad
GROUP BY sklad.kod_tov;

SELECT sklad.kod_tov, Max(sklad.stoim_zac) AS Max_st
FROM sklad
GROUP BY sklad.kod_tov;

А за тем
SELECT sklad.strih_kod, sklad.stoim_zac, sklad.kod_tov, min.[Min-stoim_zac], max.Max_st
FROM [min] INNER JOIN ([max] INNER JOIN sklad ON max.kod_tov = sklad.kod_tov) ON min.kod_tov = sklad.kod_tov;

не могу внести  max_strih_kod   и  mix_strih_kod


 
Sergey13 ©   (2008-04-10 16:56) [1]

> [0] dumka   (10.04.08 16:48)

СУБД?

можно попробовать примерно так

SELECT sklad.strih_kod, sklad.stoim_zac, sklad.kod_tov, (SELECT Min(sklad.stoim_zac) FROM sklad s2 where s2.kod_tov = sklad.kod_tov),
                                                       (SELECT Max(sklad.stoim_zac) FROM sklad s3 where s3.kod_tov = sklad.kod_tov)
FROM sklad


 
dumka   (2008-04-10 16:58) [2]


> СУБД?

Access


 
dumka   (2008-04-10 17:01) [3]

strih_kod  stoim_zac  kod_tov  max_strih_kod  Max_st min_strih_kod  Min_st
1             18р              1                            40р.                         4р.
2             40р.             1                            40р.                         4р.    
24             4р.             1                            40р.                         4р.

Вот такая версия уже есть


 
dumka   (2008-04-10 17:12) [4]


> Sergey13

Твоя версия работает так же как и моя, но внести max_strih_kod   и  mix_strih_kod не получается


 
Sergey13 ©   (2008-04-11 08:39) [5]

> [4] dumka   (10.04.08 17:12)
Добавь еще по подзапросу на вытаскивание кодов. Запросы практически аналогичны.

Можно еще заняться денормализацией. 8-)
В таблице категорий хранить эти минимумы и максимумы. К сожалению в аксесе (насколько я знаю) нет тригеров, поэтому придется следить за целостностью данных в клиенте, что не очень хорошо. Но, как вариант можно посмотреть в эту сторону. Кстати, в этом случае запрос сильно упростится и станет намного производительнее. Если таких запросов много - можно получить существенный прирост производительности.


 
dumka   (2008-04-11 09:36) [6]


> Можно еще заняться денормализацией. 8-)
> В таблице категорий хранить эти минимумы и максимумы.

Дело в том, что я не могу менять структуры, это задание как тренинг перед олимпиадой. В прошлом году его никто не решил.



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1206536706
смарт
2008-03-26 16:05
2008.05.11
ПО Смартов


2-1208157567
Костик
2008-04-14 11:19
2008.05.11
Как экзэшнику скопировать себя?....


2-1208197743
ser_ega
2008-04-14 22:29
2008.05.11
Explorer...


4-1188108766
Bora.ru
2007-08-26 10:12
2008.05.11
Убрать значок процесса из TaskBar


15-1206815238
Дмитрий С
2008-03-29 21:27
2008.05.11
беспроводная камера + смарт N93 + 3G