最近,经过你的努力,你得到了一份工作,成为了百货公司的一位经理。 到位后,你发现你的销售数据库中有两张表,一个是商店促销时间的日历,另一个是在促销期间的销售额列表。你需要编写一个查询,告诉我们在每次促销中哪位职员的销售额最高,这样可以给那个职员发绩效奖金。
--商店促销时间的日历
create table promotions
(
promo_name varchar2(50) not null primary key, -- 促销活动名称
start_date date not null, -- 开始时间
end_date date not null, -- 终止时间
check(start_date<=end_date)
)
---促销期间的销售额表 (注意:该表只是保存促销期间的销售额)
create table sales
(
ticket_nbr int not null primary key, --销售票据编号 (自增)
clerk_name varchar2(20) not null, --销售员姓名
sale_date date not null, --销售日期
sale_amount number(9,2) not null --销售金额
)
请编制一条SQL来完成这个查询。(尽量考虑多种写法)
--oracle数据库环境下测试
---获得结果集:促销活动,促销员,销售额
--此解法实际上是错误的,题目要求解的是每个活动的销售总额!
-----------------------------------------------------------------
SELECT promo_name,clerk_name,sale_amount
FROM sales,promotions
WHERE sale_amount = ANY
( SELECT MAX(sale_amount)
FROM promotions,sales
WHERE sale_date BETWEEN start_date AND end_date
GROUP BY promo_name
)
AND sale_date BETWEEN start_date AND end_date;
--正确解法1:
SELECTs1.clerk_name,p.promo_name,p.start_date,p.end_date,SUM(s1.sale_amount)
FROMsales s1
INNER JOIN promotions p
ON s1.sale_date BETWEEN p.start_date AND p.end_date
group by s1.clerk_name,p.promo_name,p.start_date,p.end_date
HAVING SUM(s1.sale_amount)>=
ALL (SELECT SUM(s2.sale_amount)
FROM sales s2
WHERE s2.sale_date BETWEEN p.start_date AND p.end_date
GROUP BY s2.clerk_name)
Northwind 商贸公司,业务日益发展,公司OA 系统正不断推出新版本以紧跟公司的发展.
在OA 系统中,有一员工角色表,情况如下:
create table roles(
emp_name varchar2(20) not null,
emp_role char(1) not null,
constraint pk_roles primary key(emp_name,emp_role)
);
数据:
EMP_NAME EMP_ROLE
-------------------- --------
陈城 W
刘海 D
刘海 O
田亮 O
王晓刚 D
张玲 S
张天明 D
张天明 O
其中: W – 搬运工人 D – 主任 O – 高级职员 S – 秘书
OA 开发组的SQL 程序员张明得到了上级的一个任务:
领导要求得到的高级职员信息表如下:
EMP_NAME COMBINE_ROLE
-------------------- ------------
刘海 B
田亮 O
王晓刚 D
张天明 B
要求:
1)只列出主任和高级职员的信息
2)如果即是高级职员又是主任,用B 表示其角色, 其它信息不用再显示 (只一条记录)。
你能不能用单条SQL 语句帮助张明实现这个查询?
正确的解答:
SELECT person,
CASE WHEN COUNT(*) = 1
THEN role
ELSE 'B' END
FROM Roles
WHERE role IN ('D','O')
GROUP BY person;
SELECT emp_name, SUBSTR('ODB', SUM(instr('OD',emp_role,1)) combined_role
FORM roles
WHERE EMP_ROLE IN ('O','D')
GROUP BY emp_name
分享到:
相关推荐
【SQL思考题系列一】商场促销问题答案 在IT领域,SQL(Structured Query Language)是用于管理和处理关系数据库的强大工具。本系列的思考题聚焦于商场促销问题,这些问题旨在锻炼和提升我们的SQL查询技巧,帮助我们...
【SQL思考题系列一】商场促销问题题目 在IT领域,SQL(Structured Query Language)是用于管理和处理关系数据库的强大工具。本系列的思考题聚焦于商场促销问题,旨在提升我们运用SQL解决实际业务场景的能力。商场...
《商场促销:深入理解策略模式》 在软件设计中,策略模式...总结来说,策略模式在处理商场促销这类需要灵活策略的问题时非常适用。通过策略模式,我们可以优雅地应对商场促销策略的变化,提高代码的可读性和可维护性。
"商场促销活动抽奖系统"是一个基于Java技术栈的软件应用,采用了经典的SSH(Struts1、Spring、Hibernate)三大框架来构建。这个系统的主要目的是为了实现商场促销活动中的抽奖功能,为商家提供一个便捷、公正且可...
《商场促销管理系统——基于Delphi7.0与Sybase12.0的数据处理技术解析》 在信息技术高速发展的今天,商场促销管理系统的构建对于优化商业运营、提高效率具有至关重要的作用。本文将深入探讨如何利用Delphi7.0集成...
标题中的“商场促销广告制作文字转换语音”是指在制作商场促销广告时,通过技术手段将文字内容转化为语音输出,以实现广告的音频形式播放。这种技术通常被称为文本语音合成(Text-to-Speech, TTS)。在地摊叫卖或者...
【标题】"五一劳动节节日共享感恩回馈商场促销ppt模板.rar"揭示了这是一个与五一劳动节相关的商业促销活动的演示文稿模板。五一劳动节,是中国的重要节日之一,商家通常会利用这个时机进行大规模的促销活动,吸引...
在当今竞争激烈的零售市场中,商场促销员所承担的角色已远远超出了基本的产品介绍和销售。他们是企业与消费者之间沟通的桥梁,直接关系到品牌的形象与顾客的购买体验。因此,对于商场促销员的专项培训显得尤为重要,...
【商场促销方案】是商业活动中常见的一种策略,旨在通过各种优惠活动吸引消费者,提升销售额,增强品牌影响力。本文主要分析了某商场在春节期间的促销活动策划,包括活动构想、主题、时间、具体内容以及费用预算。 ...
【商场促销实践报告】 在当今竞争激烈的就业市场中,实践经验成为了求职者的重要优势。这篇商场促销实践报告描述了作者在长沙浏阳永安比一比超市进行促销员工作的经历,以此来提升自身社会实践能力和人际交往技巧。...
标题和描述中提到的是一个用于地摊叫卖和商场促销广告制作的软件工具包,它包含文字转换语音的功能,能够帮助用户将文本转化为合成语音,适用于制作广告配音或录音。这个工具包还提供了背景音乐的选项,使得广告更具...
商场促销管理是零售行业中提升销售业绩、吸引顾客和增强竞争力的重要策略。以下是对【某商场促销管理的基本方式.pptx】文件中提到的知识点的详细解释: 1. **设定促销目标**:促销活动的目标通常包括提高营业额、...
【家具商场促销常用方法】 在家具零售市场,促销活动是商家提升品牌形象和销售业绩的重要手段。随着市场竞争的加剧,创新且实用的促销策略显得尤为重要。本文主要探讨了四种国内家具业成功的促销方式:文化促销、...
商场促销员是商家与消费者之间的桥梁,他们的表现直接影响着产品的销售和品牌形象。这份"商场促销员培训教程"旨在提升促销员的专业素质和服务水平,确保他们在与顾客交往中展现出最佳的形象和能力。 首先,优秀促销...
总结来说,商场促销员培训的重点在于培养促销员的专业形象、提升亲和力、增强理解顾客的能力,以及掌握有效处理顾客问题的技巧。这些知识点的掌握和实践对于提高促销员的工作效率和客户满意度具有重要意义。
Java使用策略模式解决商场促销商品问题示例 策略模式是软件设计模式中的一种行为型模式,用于定义一系列的算法,将每一种算法封装起来,并可以相互替换使用。策略模式让算法独立于使用它的客户应用而独立变化。 在...
在当今社会,商场促销活动已成为商家吸引顾客、提升销量的重要手段。而暑假,作为大学生们脱离课堂、走入社会的重要时间节点,参与商场促销活动无疑成为了他们接触社会、锻炼自我能力的一个重要途径。本篇报告将详细...
在商场促销的舞台上,饮食企业中的促销员无疑扮演着至关重要的角色。他们不仅是产品信息的传递者,更是企业与消费者之间的纽带,是品牌形象的现场代表。优秀的促销员能够有效地吸引顾客,提升销量,甚至能够在消费者...
在这个场景下,我们关注的是一个名为"C#超市商场促销折扣满减"的项目,它是一个小型的收银程序,用于模拟超市或商场的促销和折扣活动。这个程序可能会包括满减策略、折扣计算等功能,为顾客提供灵活的购物体验。 C#...