powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / задачка с sql-ex.ru
7 сообщений из 7, страница 1 из 1
задачка с sql-ex.ru
    #36937492
moggi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю в какой раздел написать. Решил что в "обучении" будет к месту.
Вобщем, задачка из раздела "обучение" №26 http://www.sql-ex.ru/learn_exercises.php
Схема БД состоит из четырех таблиц:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
...
Найдите среднюю цену ПК и ПК-блокнотов, выпущенных производителем A (латинская буква). Вывести: одна общая средняя цена.
http://xmages.net/show.php/1976132_jpg.html][IMG] http://xmages.net/storage/10/1/0/d/1/upload/f0149afb.jpg [/IMG]
Следующий запрос почему-то не проходит:
SELECT AVG(s.price) FROM
(SELECT price FROM pc,product WHERE pc.model=product.model AND product.maker='A'
UNION
SELECT price FROM laptop,product WHERE laptop.model=product.model AND product.maker='A') as s

и еще не могу понять, почему следующий запрос выдает другой результат:
SELECT AVG(s.price) FROM (
SELECT price,type FROM pc,product WHERE pc.model=product.model AND product.maker='A'
UNION
SELECT price,type FROM laptop,product WHERE laptop.model=product.model AND product.maker='A') AS s
...
Рейтинг: 0 / 0
задачка с sql-ex.ru
    #36938538
cx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cx
Гость
В Ваших запросах не учтено условие, когда в базе есть несколько одинаковых моделей РС или Laptopa одного производителя.
Рекомендую все-таки додуматься самому, если действительно хотите научиться хорошо разбираться в SQL. "Куда думать" я Вам уже подсказал.
Поверьте, это у них еще далеко не сложная задачка. Там с базой "Корабли" вообще ж :-)
Удачи!
...
Рейтинг: 0 / 0
задачка с sql-ex.ru
    #36939407
moggi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все равно не понятно. Если без дубляжей, пробую добавлять DISTINCT, не помогает. Для проверки делаю следующий запрос:
SELECT pc.model,price,'pc' AS type,maker FROM pc,product WHERE pc.model=product.model
UNION
SELECT laptop.model,price,'laptop' AS type,maker FROM laptop,product WHERE laptop.model=product.model
копирую получившуюся таблицу в EXCEL и там считаю СРЗНАЧ() (для производителя 'A'), но результат все равно не тот, что нужен.
...
Рейтинг: 0 / 0
задачка с sql-ex.ru
    #36939424
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moggi,

я бы попробовала вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT sum(s.price)/sum(s.kol) as sredn FROM
(SELECT price, 1  as kol FROM pc,product
 WHERE pc.model=product.model AND product.maker='A'
UNION all
 SELECT price, 1  as kol FROM laptop,product
 WHERE laptop.model=product.model AND product.maker='A') as s
...
Рейтинг: 0 / 0
задачка с sql-ex.ru
    #36940771
moggi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, спасибо. Ваш вариант дает правильный результат, как и мой надо было просто в объединение UNION добавить модификатор ALL (я-то думал он используется по умолчанию).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
задачка с sql-ex.ru
    #37770630
pep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pep
Гость
Такие вопросы можно задавать в поддержку сайта sql-ex.ru
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
задачка с sql-ex.ru
    #38982590
sholomanse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
with asd as(
Select price from pc inner join product on product.model=pc.model
where maker='A'
Union all
select price from laptop inner join product on product.model=laptop.model
where maker='A'
)
select avg(price) from asd
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / задачка с sql-ex.ru
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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