![]() |
SQL
Товарищи, тут такая штука, может кто отлично шарит в sql..
вот задача и ответ..вопрос следующий, что это за буква а в конце, без нее ничего не работае..в нете шарила, так и не нашла ответа.. Текст задания: Найдите среднюю цену ПК и ПК-блокнотов, выпущенных производителем 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; |
Цитата:
Цитата:
|
Не претендую на звание знатока. Насколько я знаю sql последняя a это псевдоним таблицы. Перед ней можно написать as
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' ) ) as a |
Joyst, это я уже видела, у меня другой вопрос..
|
Трактор, какое имя, откуда оно взялось это имя?? это имя нигде не объявлялось..любую букву поставить вместо а и оно тоже работает
|
Цитата:
SELECT model FROM product as productA inner join product as productB on productA.producer = productB.trader |
Трактор, спасибо, дошло уже..че блин не написать нормально в мануалах, что подзапрос нужно обзывать псевдонимом что б он был вычислительным столбцом..
но все равно работает неверно, почему..у меня один из обьединенных ничего не должен вывести или в самой задаче подразумевается что обязательно есть и пк и лептоп.. |
Если писать строго по SQL92 и выкинуть неиспользуемые поля, то запрос будет выглядеть так
Цитата:
Цитата:
И ещё. Обрати внимание на UNION ALL. Почитай чем отличается UNION от UNION ALL . Может быть в задании имеется в виду именно это различие? |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 13:04. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot