powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запросы - поиск среднего значения и вывод списка с определенным требованием
18 сообщений из 18, страница 1 из 1
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575751
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый день!

Необходима ваша помощь в написании двух запросов.

Имеется две таблицы
1)Таблица поставщиков:
- provider (Charaster) – поставщик
- country (Charaster) – страна
2)Таблица овощей и фруктов:
- vegetable (Charaster) – наименование овощей и фруктов
- price (Numeretic) – цена
- provider (Charaster) – поставщик

Запросы:
-Найти срeдн. значeниe цeны для прoдукции у тeх пoставщикoв, кoтoрыe пoставляют нe тoлькo oвoщи, нo и фрукты.
-Найти названия пoставщикoв, кoтoрыe пoставляют на склад тoвар, нe мeнee трeх наимeнoваний.

Спасибо за любой ответ!
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575768
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам хоть как-то пробовал решать или задание сразу сюда запостил?
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575782
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, спасибо за ответ!
Да пробовал, тут около 12 запросов в задании типа
-Найти самый дopoгoй вид тoваpа, самый дeшeвый, сpeднюю стoимoсть пo каж-дoму складу и в цeлoм.
-Найти тoваp с цeнoй в заданных пpeдeлах пo каждoму складу и в цeлoм.
-Найти вeсь тoваp заданнoгo пpoизвoдитeля.
....

Остались только сабжовые запросы. В остальном трудности не возникли.
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575784
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utwo-Найти срeдн. значeниe цeны для прoдукции у тeх пoставщикoв, кoтoрыe пoставляют нe тoлькo oвoщи, нo и фрукты.
Это невозможно. В твоей постановке задачи овощи от фруктов ничем не отличаются.

В остальном: для начала сам попытайся решить свою задачу, не получится - показывай свои труды, подскажут в чем ты ошибся.
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575793
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utwo-Найти названия пoставщикoв, кoтoрыe пoставляют на склад тoвар, нe мeнee трeх наимeнoваний.
Тут надо использовать HAVING
Код: sql
1.
select ... count(*) as nCnt .... having nCnt > 3 ...
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575812
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tutwo-Найти срeдн. значeниe цeны для прoдукции у тeх пoставщикoв, кoтoрыe пoставляют нe тoлькo oвoщи, нo и фрукты.
Это невозможно. В твоей постановке задачи овощи от фруктов ничем не отличаются.

В остальном: для начала сам попытайся решить свою задачу, не получится - показывай свои труды, подскажут в чем ты ошибся.

Может как вариант, что-то подобное с указанием списка некоторых фруктов и некоторых овощей, содержащие в таблице.
Конечно это не будет работать если в таблице появиться элемент отсутствующий в этом списке, но хотя бы так.

SELECT AVG(price) FROM Таблица овощей и фруктов WHERE Таблица овощей и фруктов.vegetable == ("Банан" or "Апельсин" or "Яблоки" or "Мандарин" or "Киви" or "Виноград" or "Груша" or "Гранат" or "Арбуз" or "Вишня" or "Ананас") and ("Лук" or "Томат" or "Картофель" or "Капуста" or "Огурцы" or "Свекла" or "Морковь")
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575854
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utwoDima Tпропущено...

Это невозможно. В твоей постановке задачи овощи от фруктов ничем не отличаются.

В остальном: для начала сам попытайся решить свою задачу, не получится - показывай свои труды, подскажут в чем ты ошибся.

Может как вариант, что-то подобное с указанием списка некоторых фруктов и некоторых овощей, содержащие в таблице.
Конечно это не будет работать если в таблице появиться элемент отсутствующий в этом списке, но хотя бы так.

SELECT AVG(price) FROM Таблица овощей и фруктов WHERE Таблица овощей и фруктов.vegetable == ("Банан" or "Апельсин" or "Яблоки" or "Мандарин" or "Киви" or "Виноград" or "Груша" or "Гранат" or "Арбуз" or "Вишня" or "Ананас") and ("Лук" or "Томат" or "Картофель" or "Капуста" or "Огурцы" or "Свекла" or "Морковь")

А может, в таблицу овощей и фруктов добавить поле, в котором будет признак овощ это или фрукт, чем песать вот такую ерунду.
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575858
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,


Спасибо за ответ! Буду пробовать...
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575865
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utwoМожет как вариант, что-то подобное с указанием списка некоторых фруктов и некоторых овощей, содержащие в таблице.
Конечно это не будет работать если в таблице появиться элемент отсутствующий в этом списке, но хотя бы так.
Вообще-то такой подход считается грубой ошибкой. Нельзя зашивать данные в код, если надо разделить - добавляем в базу признак "Овощ/фрукт" и по нему делим.
utwo... WHERE Таблица овощей и фруктов.vegetable == ("Банан" or "Апельсин" or "Яблоки" or "Мандарин" or "Киви" or "Виноград" or "Груша" or "Гранат" or "Арбуз" or "Вишня" or "Ананас") and ("Лук" or "Томат" or "Картофель" or "Капуста" or "Огурцы" or "Свекла" or "Морковь")
Список значений пишется так
Код: sql
1.
... WHERE Таблица овощей и фруктов.vegetable in ("Банан", "Апельсин", "Яблоки" ...)


Кстати арбуз вроде как ягода :)

Независимо от способа как разделишь - тут запрос с подзапросом.
Подзапрос выбирает список подходящих поставщиков.
Запрос как-то так
Код: sql
1.
SELECT AVG(price) ... WHERE provider in (подзапрос)
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575882
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,


Спасибо огромное за ваши оперативные ответы! Сейчас буду пробовать, о результатах отпишусь.
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575953
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
utwoИмеется две таблицы
1)Таблица поставщиков:
- provider (Charaster) – поставщик
- country (Charaster) – страна
2)Таблица овощей и фруктов:
- vegetable (Charaster) – наименование овощей и фруктов
- price (Numeretic) – цена
- provider (Charaster) – поставщик

-Найти названия пoставщикoв, кoтoрыe пoставляют на склад тoвар, нe мeнee трeх наимeнoваний.


SELECT provider, COUNT(*) FROM Таблица овощей и фруктов GROUP BY provider HAVING COUNT(*)>3


Один запрос подготовил! :)
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37575957
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин опять забыл тег применить, а изменить опубликованное сообщение похоже нельзя уже.
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37576032
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
Независимо от способа как разделишь - тут запрос с подзапросом.
Подзапрос выбирает список подходящих поставщиков.
Запрос как-то так
Код: sql
1.
SELECT AVG(price) ... WHERE provider in (подзапрос)



Добавил в таблицу еще одно поле, теперь так:
1)Таблица поставщиков:
- provider (Charaster) – поставщик
- country (Charaster) – страна
2)Таблица овощей и фруктов:
- vegetable (Charaster) – наименование овощей и фруктов
- type(Charaster) - тип продукта
- price (Numeretic) – цена
- provider (Charaster) – поставщик


Вот так я получаю два вывода содержащие по отдельности овощи и фрукты.

Код: sql
1.
2.
3.
SELECT *;
 FROM tb_vegetables; 
 WHERE tb_vegetables.type == "овощь"



Код: sql
1.
2.
3.
4.
SELECT *;
 FROM tb_vegetables; 
 WHERE tb_vegetables.type == "фрукт"
 



Подскажите, пожалуйста, как теперь дописать, чтобы получить ср значние цeн для прoдукции у тeх пoставщикoв, кoтoрыe пoставляют нe тoлькo oвoщи, нo и фрукты, т.е. в предыдущих двух выводах


SELECT AVG(price)....
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37576703
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
SELECT ... 
   WHERE provider in (SELECT provider fom FROM tb_vegetables WHERE tb_vegetables.type == "овощь")
       and provider in (SELECT provider fom FROM tb_vegetables WHERE tb_vegetables.type == "фрукт")
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37576706
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечатка небольшая, "fom" не стер:
Код: sql
1.
2.
3.
SELECT ... 
   WHERE provider in (SELECT provider FROM tb_vegetables WHERE tb_vegetables.type == "овощь")
       and provider in (SELECT provider FROM tb_vegetables WHERE tb_vegetables.type == "фрукт")
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37577062
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tопечатка небольшая, "fom" не стер:
Код: sql
1.
2.
3.
SELECT ... 
   WHERE provider in (SELECT provider FROM tb_vegetables WHERE tb_vegetables.type == "овощь")
       and provider in (SELECT provider FROM tb_vegetables WHERE tb_vegetables.type == "фрукт")



Dima T , спасибо огромное! все отлично работает!
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37577064
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utwoDima TНезависимо от способа как разделишь - тут запрос с подзапросом.
Подзапрос выбирает список подходящих поставщиков.
Запрос как-то так
Код: sql
1.
SELECT AVG(price) ... WHERE provider in (подзапрос)



Добавил в таблицу еще одно поле, теперь так:
1)Таблица поставщиков:
- provider (Charaster) – поставщик
- country (Charaster) – страна
2)Таблица овощей и фруктов:
- vegetable (Charaster) – наименование овощей и фруктов
- type(Charaster) - тип продукта
- price (Numeretic) – цена
- provider (Charaster) – поставщик


Вот так я получаю два вывода содержащие по отдельности овощи и фрукты.

Код: sql
1.
2.
3.
SELECT *;
 FROM tb_vegetables; 
 WHERE tb_vegetables.type == "овощь"



Код: sql
1.
2.
3.
4.
SELECT *;
 FROM tb_vegetables; 
 WHERE tb_vegetables.type == "фрукт"
 



Подскажите, пожалуйста, как теперь дописать, чтобы получить ср значние цeн для прoдукции у тeх пoставщикoв, кoтoрыe пoставляют нe тoлькo oвoщи, нo и фрукты, т.е. в предыдущих двух выводах


SELECT AVG(price)....


Овощ без мягкого знака пишется :)
...
Рейтинг: 0 / 0
Запросы - поиск среднего значения и вывод списка с определенным требованием
    #37577893
utwo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNGОвощ без мягкого знака пишется :)
Точно! Спасибо за замечание!
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запросы - поиск среднего значения и вывод списка с определенным требованием
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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