问:了解A厂商生产的个人电脑和笔记本电脑的平均价格。
结果集:所有项目的总平均价格。
数据库模式:产品(制造商,型号,型号)PC(代码,型号,速度,内存,高清,cd,价格)笔记本电脑(代码,型号,速度,内存,高清,屏幕,价格)打印机(代码,型号,颜色,类型,价格)
我有以下代码:
with totalproducts
as
(select price
from pc
where model in (
select model
from product
where maker='A'
)
union
select price
from la
我有三张桌子:笔记本电脑,电脑,带型号和价格的打印机。
我需要在所有这些表中的所有产品中获得最高价格。
我联合得到了每个表的最大价格和模型字段:
SELECT model,price
FROM (SELECT model, price
FROM pc
WHERE price = (SELECT MAX(price) FROM pc)
UNION
SELECT model, price
FROM laptop
WHERE price = (SELECT MAX(price) FROM laptop)
关系:产品(制造商,型号,类型)笔记本电脑(型号,价格,速度,内存,高清,屏幕)PC(型号,价格,速度,内存,高清)打印机(型号,价格,颜色,价格)
我正在努力寻找个人电脑谁共享彼此的高清尺寸。因此,基本上是找出与另一台pc共享HD大小的pc的型号。
我尝试过的:
SELECT DISTINCT hd FROM pc;
这给了我所有的高清尺寸。我不确定如果这些数字在关系中出现两次,我将如何计算。
我想大概是这样的
SELECT DISTINCT hd FROM pc WHERE hd IN (SELECT hd FROM pc);
但是我不知道怎么说“在多次”?
的问题:找出了制造商A生产的个人电脑和笔记本电脑的平均价格。结果集:所有产品的总平均价格。
产品表:
PC表:
打印机表:
膝上型电脑桌:
我的代码:
select (avg(pc.price)+avg(printer.price))/2 from pc, printer
where pc.model IN
(SELECT product.model from PRODUCT where maker='A')
AND
printer.model IN
(SELECT printer.model from product where mak