Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Michail A. Member Откуда: Сообщений: 96 |
Всем привет! Есть задание на sql-ex.ru (№41) Схема БД состоит из четырех таблиц: Product(maker, model, type) PC(code, model, speed, ram, hd, cd, price) Laptop(code, model, speed, ram, hd, price, screen) Printer(code, model, color, type, price) Таблица Product представляет производителя (maker), номер модели (model) и тип ('PC' - ПК, 'Laptop' - ПК-блокнот или 'Printer' - принтер). Предполагается, что номера моделей в таблице Product уникальны для всех производителей и типов продуктов. В таблице PC для каждого ПК, однозначно определяемого уникальным кодом – code, указаны модель – model (внешний ключ к таблице Product), скорость - speed (процессора в мегагерцах), объем памяти - ram (в мегабайтах), размер диска - hd (в гигабайтах), скорость считывающего устройства - cd (например, '4x') и цена - price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD содержит размер экрана -screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным - color ('y', если цветной), тип принтера - type (лазерный – 'Laser', струйный – 'Jet' или матричный – 'Matrix') и цена - price.
Задание подразумевает использование конструкции unpivot, поэтому решение строю через нее (хочу научиться ее использованию) select chr,val from (select cast (model as varchar(50)) as model ,cast(speed as varchar(50)) as speed ,cast(ram as varchar(50)) as ram ,cast(hd as varchar(50)) as hd ,cast(cd as varchar(50)) as cd ,cast(price as varchar(50)) as price from pc where code = (select max(code) from pc)) as t unpivot (val for chr in (model,speed,ram,hd,cd,price)) as upt В ответ получаю, что
Собственно, вопрос, что я делаю не так? |
||||
2 сен 18, 20:56 [21661914] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
Michail A., сейчас вас забанят ![]() |
2 сен 18, 20:57 [21661915] Ответить | Цитировать Сообщить модератору |
Michail A. Member Откуда: Сообщений: 96 |
iap, почему??? |
2 сен 18, 21:00 [21661921] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
Это надо делать у них на сайте. Я-то что... Я ничего. Просто много я уже видел похожих ситуаций. |
||
2 сен 18, 21:06 [21661931] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |