【发布时间】:2014-01-25 04:00:34
【问题描述】:
我写了这段代码
select maker.product , product.type
from product
join laptop on laptop.model=product.model
join pc on pc.model=product.model
join printer on printer.model=product.model
WHERE (product.type= 'pc' AND
(NOT EXISTS (SELECT maker
FROM Product
WHERE product.type = 'laptop'
))and (NOT EXISTS (SELECT maker
FROM Product
WHERE product.type = 'printer'
))
or
product.type= 'laptop' AND
(NOT EXISTS (SELECT maker
FROM Product
WHERE product.type= 'pc'
))and (NOT EXISTS (SELECT maker
FROM Product
WHERE product.type= 'printer'
))
or
type = 'printer' AND
(NOT EXISTS (SELECT maker
FROM Product
WHERE product.type= 'laptop'
))and (NOT EXISTS (SELECT maker
FROM Product
WHERE product.type= 'pc'
)))
group by product.maker
having count(product.model) > 1
在这个站点sql-ex.ru 在练习 14 中,但它不起作用。 问题是: 对于Product表,以表格形式接收结果集,列:maker,pc,laptop,printer。对于每个maker,如果maker有相应类型的产品,该表必须包含“yes”,否则为“no”。在第一种情况下(是),在括号中(不带空格)指定相应类型的可用不同型号的数量(即在 PC、笔记本电脑和打印机表中)。
它的方案是
对不起,我的英语不好! 请帮忙 ! 谢谢。
【问题讨论】:
-
1.使用一点缩进 - 有助于提高可读性 2. '不起作用'是什么意思 3. 为什么使用小提琴 sqlfiddle.com 作为示例进行演示以及潜在的人尝试答案
-
我的意思是它没有返回正确的结果,也感谢你向我介绍那个网站
-
@ali - 整理缩进 - 整理出小提琴 - 你可能会到达某个地方
标签: sql