gpt4 book ai didi

mysql - 连接具有不同列数的表

转载 作者:行者123 更新时间:2023-11-29 03:48:35 25 4
gpt4 key购买 nike

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

最佳答案

查看“SQL 表别名”以向列数较少的表添加列。或者您也可以输入空值,例如:

Select Col1, Col2, Col3 from Table1
Union
Select Col1, Null as Col2, Null as Col3 from Table2

关于mysql - 连接具有不同列数的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com