Сообщение из темы: SQL

Старый
  (#2)  |  (на пост)
Сейчас вне форума
Аватар для Joyst
Сообщений: 13,111
Миксов: 500
Рейтинг мнений: 3987
Сказал(а) спасибо: 24,831
Поблагодарили: 27,980
Регистрация: 10.04.2010
Адрес: Криптонополис
Users Flag!
25.04.2012, 15:26

Сообщение от dar Посмотреть сообщение
Текст задания:
Найдите среднюю цену ПК и ПК-блокнотов, выпущенных производителем A (латинская буква).
Вывести: одна общая средняя цена.

Решение:

SELECT AVG(price)
FROM (
SELECT code, price, pc.model, ram, hd
FROM pc
WHERE model IN (
SELECT model
FROM product
WHERE maker='a'
)
UNION
SELECT code, price, laptop.model, ram, hd
FROM laptop
WHERE model IN (
SELECT model
FROM product
WHERE maker='a'
)
) a;
Так тоже будет работать:

Цитата
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.17833 секунды с 14 запросами
Loading...