select多表查询出问题?求回答解决方法
主表(Product): maker:为制造商 model:为型号 type:为类型
从表1(pc):model:为类型 speed:为速度 ram:为容量 price:价格
从表2(laptop):同上
从表3(printer):model同上 color:是否彩色 type:处理类型 price:价格
题目:查询制造商B制造的任何类型的所有产品的型号和价格?
我本人写的sql:
SELECT a.`maker`,b.`price`,c.`price`
FROM product a RIGHT OUTER JOIN (pc b,laptop c)
ON (a.`model`= b.`model` OR a.`model`=c.`model`)
WHERE a.`maker`='B';
但是得出的结果却是:
求解决方法!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
多谢帮忙
try
不过若model不唯一就有问题。表设计貌似有问题
用左连接吧
没人知道解答方法?
没人能够回答我吗?
问题解决:
SELECT DISTINCT a.model AS a_model,b.price AS b_price,c.price AS c_price
FROM product a LEFT JOIN pc b ON a.model=b.model
LEFT JOIN laptop c ON a.model=c.model
WHERE a.maker='B';