您的位置:首页 > 其它

昨晚参加某大型网上商城的校招笔试题,大家来讨论讨论

2013-09-11 16:40 267 查看
昨晚参加的某商城笔试题,先来看看SQL的题

第一题:

假设某商品表为 tabletest ,使用一条SQL语句查询出所有字段为 shop_id 取值重复的记录

第二题:

假设某商品表 tabletest中 price字段表示价格, promote_price字段表示促销时期价格,请用一条SQL 语句实现,当前月份为 6月时, 使用promote_price字段代替 price字段

大家谈谈自己的答案?

我的答案:

create table jd_test
(
shop_id int not null,
price int not null,
promote_price int not null
)

insert into jd_test
values(1,100,90),
(2,110,100),
(2,90,80),
(3,120,90),
(3,150,90),
(4,40,39)

--使用子查询 查询出所有 shop_id数量>1的(即表示有重复),然后再选择出该重复shop_id的所有信息
select *
from jd_test
where shop_id in ( select shop_id
from jd_test
group by  shop_id
having count(shop_id) > 1)

--使用 update 语句 和 case 语句更新 price 价格
UPDATE jd_test SET price =
CASE
WHEN DATEPART(MONTH,GETDATE()) = 6 THEN promote_price
ELSE price
END


顺便说说 DATEPART() 函数的使用: 分别取出年月日

SELECT DATEPART(YEAR,GETDATE()) AS yaar,
DATEPART(MONTH,GETDATE()) as month,
DATEPART(DAY,GETDATE()) as day


 

结果:



还有其他题,待会儿再放出来讨论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐