powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
15 сообщений из 15, страница 1 из 1
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028354
olechka150
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят помогите с запросом...
Нужно вывести название предприятия, которое выпускает наибольшее количество наименований товаров.
таблицы:

tovar
kod
naim

prrice-list
kod
cena
data
kod_tov
kod_pred

predpriatie
kod
nazv


Таблица прайс-лист по сути содержит только внешние ключи таблиц товар и предприятие. Прайс листов от одного предприятия на один товар может быть несколько...

Вот попробовала написать:

select pp.nazv, count(t.naim) as kolvo
from predpriatie pp, price-list l, tovar t
where t.kod=l.kod_tov and pp.kod=l.kod_pred
group by pp.nazv
having count(*)>=any(select count(*)
from predpriatie
group by nazv)

но в данном случае он просто выводит предприятие и количество товаров зарагистрированных в прайс листе... но в прайс листе по одному и тому же товаро может быть зарегистрированны данные несколько раз, поэтому результат не верен... помогите плиз
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028499
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olechka150,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select top  1 
  p.nazv, count(*) as tov_cnt
from predpriatie p
  join price_list on pl on p.kod = pl.kod_pred
where
  pl.data = (
    select max(data) from price_list
    where kod_tov = pl.kod_tov
  )
group by p.nazv
order by  2  desc
?
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028723
Дураг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_Lolechka150,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select top  1 
  p.nazv, count(*) as tov_cnt
from predpriatie p
  join price_list on pl on p.kod = pl.kod_pred
where
  pl.data = (
    select max(data) from price_list
    where kod_tov = pl.kod_tov
  )
group by p.nazv
order by  2  desc
?

не взлетит
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028725
olegenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему top 1 , может у более чем одного поставщика максимальное число товаров?
distinct отсутствует перед группировкой, а в count стоит (*)

точно не взлетит...
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028726
Дураг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо так:

Код: plaintext
1.
2.
3.
4.
where
  pl.data = (
    select max(data) from price_list
    where kod_tov = pl.kod_tov  and kod_pred=p.kod
  )
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028849
Фотография Юрий Носов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если бы ник был grisha150 хрен кто бы помог..
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028861
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий НосовА если бы ник был grisha150 хрен кто бы помог..На ник пох. Зависит от настроения.

ЗЫ. А по поводу "не взлетит" - еще не хватало сопли каждому студенту подтирать. Придали вектор движения - пусть двигается.
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37028945
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_Lеще не хватало сопли каждому студенту подтирать. Придали вектор движения - пусть двигается.
Злой ты сегодня. ;)
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37029277
olechka150
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кое что не работало, методом проб и ошибок исправила)
спасибо ребята)
тема закрыта)
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #37029598
tetxx_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наибольшее количество наименований .
И да, подходящих предприятий м.б. несколько.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
with tt as (
  select kod_pred, COUNT(distinct kod_tov) c 
  from prrice_list l
  group by l.kod_pred
)
select (select nazv from predpriatie where kod_pred = tt.kod_pred), c
from tt
where tt.c = (select max(c) from tt)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #38879757
Andrew99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здрасти! чет я уже несколько дней пытаюсь подобный запрос осуществить и нифига... теории SQL не хватает. Подсткажите пжлста или хотя бы какую тему прокопать??))

TBL_BAZA

IY STAT TX
---------------
1 10 wreg
2 10 ddd
1 20 ewe
1 30 we
2 20 htmj
3 10 tdy
4 10 tu,mu
3 20 uhg
1 40 xmx
4 20 rrrr

Как вытащить все IY=1,2,3,4,.. с наибольшим STAT? То есть

IY STAT TX
---------------
1 40 xmx
2 20 htmj
3 20 uhg
4 20 rrrr
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #38879776
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew99здрасти! чет я уже несколько дней пытаюсь подобный запрос осуществить и нифига... теории SQL не хватает. Подсткажите пжлста или хотя бы какую тему прокопать??))

TBL_BAZA

...

max()
group by
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #38879777
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81Andrew99здрасти! чет я уже несколько дней пытаюсь подобный запрос осуществить и нифига... теории SQL не хватает. Подсткажите пжлста или хотя бы какую тему прокопать??))

TBL_BAZA

...

max()
group by

left join ещё...
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #38880031
Andrew99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NikolayV81, Спасибо!

сначала все заработало с первой посказки

select iy, max(stat)
from TBL_BAZA
group by iy

до момента пока не понадобилось и tx из той же таблицы и тем же запросом. Здесь я так понимаю и нужен LEFT JOIN
Но что то пока не получается... Делаю так

select S1.iy, max(S1.stat), S1.tx from TBL_BAZA S1
LEFT JOIN TBL_BAZA S2 ON S1.tx = S2.tx
group by S1.iy

Что не так?((
...
Рейтинг: 0 / 0
Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
    #38883294
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew99NikolayV81, Спасибо!

сначала все заработало с первой посказки

select iy, max(stat)
from TBL_BAZA
group by iy

до момента пока не понадобилось и tx из той же таблицы и тем же запросом. Здесь я так понимаю и нужен LEFT JOIN
Но что то пока не получается... Делаю так

select S1.iy, max(S1.stat), S1.tx from TBL_BAZA S1
LEFT JOIN TBL_BAZA S2 ON S1.tx = S2.tx
group by S1.iy

Что не так?((


Код: sql
1.
2.
3.
select S1.iy, max(S1.stat), S1.tx from TBL_BAZA S1
LEFT JOIN TBL_BAZA S2 ON S1.tx = S2.tx
group by S1.iy, s1.tx
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос SQL помогите, завтра нужно сдавать курсовой проект..(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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