製品、PC、ラップトップ、およびプリンターの 4 つのテーブルがあります。
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)
私が必要としているのは、価格が最も高い製品 (PC、ラップトップ、またはプリンター) のモデル番号を見つけることです。2 つのモデル番号の価格が最も高い場合、両方を表示する必要があり、case を使用すると 1 つだけが選択され、case ステートメントが終了するため、これは case ステートメントでは機能しません。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)
しかし、これは間違った構文であり、その理由はわかりません。何か案は?