HARD&SOFT > Программирование

Вопрос по SQL, начинающего уровня

(1/2) > >>

benassi:
Приветствую) Уважаемые однофорумчане знающие SQL , прошу вашей помощи!
Начал по-тихоньку осваивать SQL  в свободное время (сильно не судить :police:) и вот застрял на каком вопросе, кто знает помогите разобраться. Заранее благодарен.
Схема БД состоит из четырех таблиц:
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)
Нужно вывести модели(model) и цены(price) от производителя(maker) 'B'

Пишу для этого следующий запрос:

SELECT DISTINCT Product.model,PC.price AS Cena_PC,Laptop.price AS Cena_LP, Printer.price AS Cena_PR FROM Product
FULL OUTER JOIN PC ON PC.model = Product.model
FULL OUTER JOIN Laptop ON Laptop.model = Product.model
FULL OUTER JOIN Printer ON Printer.model = Product.model
WHERE maker='B'

Выводит он информацию:


Вот мне нужно получить такой вид:


Подскажите, как поступить?

ANALGIN2:
Честно признаюсь, что sql даже не щупал ни разу, поэтому не уверен, что это возможно сделать его (её?) средствами. А вот простенькую предобработку на php - легко. Берутся все значения из Cena_* и если значение не равно Null , записывается в Cena (конечно, при условии, что неNull только одно в строке model).

I-one:
тоже не силен в sql, но на mysql ставил бы умолчания поля не Null и именно 0. и тогда можно SELECT (`cena_pc`+`cena_lp`+`cena_pr`) AS `cena`

benassi:

--- Цитата: I-one от 25 Февраля 2015, 22:51:08 ---тоже не силен в sql, но на mysql ставил бы умолчания поля не Null и именно 0. и тогда можно SELECT (`cena_pc`+`cena_lp`+`cena_pr`) AS `cena`

--- Конец цитаты ---
Была такая идея, пробовал через ISNULL заменить на 0, а потом вышеописанным методом,  что-то там не задалось, завтра повнимательней поэкспериментирую.
ANALGIN2, I-one спасибо за проявленный интерес.

Eugene L.:
в чем выполняешь запрос?
Может убрать из запроса DISTINCT цену Laptop.price? Может перед сном не понял суть, но смысла в них не вижу
После where условие на NULL и все вроде

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии