回 帖 发 新 帖 刷新版面

主题:这个问题导致我面试失败(我是不是该转行了)

今天面试,作了一份面试题,如下

表1:产品表
产品编号    产品名称    产品类型
  1           CPU         配件
  2           内存        配件
  3           打印机      外设
……          ……         ……

表2:库存表
产品编号    仓库号      库存数量
  1           1           10
  1           2           2
  2           1           21
  2           2           0
  3           1           11
……          ……        ……

问题:
1。统计出1号仓库库存不为0的产品,结果格式:产品名称
2。删除2号仓库库存为0的纪录
3。将所有“外设”类产品的1号仓库库存数量增加10

给了我15分钟,我没做出来,让我走人了。哭了……
刚坐上公交车,我想我知道了答案……
1.select 产品名称 from 产品表 where 产品编号 in(select 产品编号 from 库存表 where 仓库号=1 and 库存数量<>0)

2.delete from 产品表,库存表 where 产品编号 in(select 产品编号 from 库存表 where 仓库号=2 and 库存数量=0)

3.update 库存表 set 库存数量=库存数量+10 where 仓库号=1 and                 产品编号 in(select 产品编号 from 产品表 where 产品类型='外设')

不知道这些答案对不对,郁闷中……










回复列表 (共5个回复)

沙发

好像很简单嘛,不过15分钟没把握。。。另外,如果真的喜欢这方面的工作的话不应该这么容易就放弃的,至少我不会。

板凳

1.select 产品名称 from 产品表 where 产品编号 in(select 产品编号 from 库存表 where 仓库号=1 and 库存数量<>0)

2.delete from 库存表 where 仓库号=2 and 库存数量=0

3.update 库存表 set 库存数量=库存数量+10 where 仓库号=1 and                 产品编号 in(select 产品编号 from 产品表 where 产品类型='外设')

3 楼

请问从事数据库工作,是不是要考一个什么数据库师之类的证啊?

4 楼

1

前提,每产品,每仓库只有一条记录。
select a.产品名称 from 产品表 a, 库存表 b where a.产品编号 = b.产品编号 and b.仓库号 = 1 and b.库存数量 > 0

如果有多条。

select a.产品名称 from 产品表 a,
(
  select 产品编号,sum(库存数量) 库存数量 from 库存表 where 仓库号 = 1 group by 产品编号,仓库号
) b
where a.产品编号 = b.产品编号 and b.库存数量 > 0

2

delete from 库存表 where 仓库号 = 2 and 库存数量 = 0

3

update 库存表
set 库存数量 = 库存数量 + 10
from 库存表 , 产品表 
where 产品表.产品类型 = '外设' and 库存表.产品编号 = 产品表.产品编号 and 库存表.仓库号 = 1

5 楼


delete from 产品表,库存表 where 产品编号 in(select 产品编号 from 库存表 where 仓库号=2 and 库存数量=0)


没有必要删除表1

我来回复

您尚未登录,请登录后再回复。点此登录或注册