我目前正在为本地站点处理一些嵌入式 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');
但问题是每个表(电脑、笔记本电脑、打印机)没有相同的列。我认为如果表不包含该列,我的问题只填写空值就可以了。我正在尝试将所有表和列合并到一个超级表中并将其显示给用户。然后我也想尝试按产品类型订购大桌子。我想我会在查询结束时添加一个 ORDER BY 。所以我的问题是如何加入这些表格?
关系:
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)