私は現在、ローカルサイトのいくつかの埋め込みSQLクエリに取り組んでいます。そして、私は混乱に直面しています。これを行う必要があります。「ユーザーにメーカーを依頼します。そのメーカーのすべての製品の仕様を印刷します。つまり、モデル番号、製品タイプ、およびそのタイプに適切な関係のすべての属性を印刷します。」
次のクエリを試しました
(SELECT * FROM product NATURAL JOIN pc WHERE maker = '$m')
union (SELECT * FROM product NATURAL JOIN printer WHERE maker = '$m')
union (SELECT * FROM product NATURAL JOIN laptop WHERE maker = '$m');
ただし、各テーブル(PC、ラップトップ、プリンター)に同じ列がないという問題が発生します。テーブルにその列が含まれていない場合は、null値を入力するだけで問題が解決すると思います。すべてのテーブルと列を1つのスーパーテーブルにマージして、それをユーザーに表示しようとしています。それでは、商品の種類ごとに大きなテーブルを注文してみたいと思います。これは、クエリの最後にORDERBYを設定するだけだと思います。だから私の質問は、どうすればこれらのテーブルを結合できますか?
関係:
Product(maker, model, type (laptop, printer, pc))
Printer(model, color (0,1), type(ink-jet, laser), price)
Laptop(model, speed, ram, hd, screen, price)
Pc(model, speed, ram hd, price)