我一直在尝试回答 http://www.sql-ex.ru/learn_exercises.php#answer_ref 上的问题最近因为我是 sql 的新手,你可以从我之前关于 sql 的帖子中看到。我遇到了这个问题:
Exercise: 23 Find the makers producing at least both a pc having speed not less than 750 MHz and a laptop having speed not less than 750 MHz. Result set: Maker
以下是我的答案,这是不正确的,因为它使用了 or。任何人都可以通过给我一个搜索链接或我应该使用什么连接来指导我走向一个好的方向。
SELECT pt.maker
FROM product pt,
laptop l,
pc
WHERE (pt.model = pc.model
AND pc.speed >=750)
OR (pt.model = l.model
AND l.speed >=750)
GROUP BY pt.maker
最佳答案
关闭,如果表和列定义正确(我没有该站点的登录名),它应该是这样的:
SELECT distinct pt_pc.maker
FROM
laptop l
inner join product pt_l on pt_l.model=l.model,
pc
inner join product pt_pc on pt_pc.model=pc.model
WHERE pc.speed >=750 and l.speed >=750 and pt_l.maker=pt_pc.maker
所以基本上你想要一台速度 >=750 的电脑和一台速度 >=750 的笔记本电脑,由同一个人制造。
关于sql - 脑筋急转弯 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899424/