У меня есть четыре таблицы: продукты, компьютер, ноутбук и принтер.
Products(maker, model, type)
PC(code, model, speed, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type price)
Мне нужно найти номер модели продукта (ПК, ноутбука или принтера), который имеет самую высокую цену. Это не будет работать с оператором регистра, потому что, если два номера модели имеют самую высокую цену, оба должны отображаться, и при использовании регистра выбирается только один, а затем завершается оператор регистра. Я хотел бы сделать это с помощью оператора UNION, но я не уверен, как это сделать. Это то, что я до сих пор:
SELECT model FROM
(SELECT model, MAX(price) FROM
(SELECT model, price FROM Pc UNION ALL SELECT model, price FROM Laptop UNION ALL
SELECT model, price FROM Printer)
GROUP BY model)
Но это неправильный синтаксис, и я не уверен, почему. Есть идеи?