编辑:11/23/2016 10:32
好的,所以我是SQL的新手并且已经相当擅长基础知识,但需要一些帮助才能将此分析从Excel转移到基于查询。我认为这需要一个WITH语句,我只有我们的数据权限才能查看/选择语句。所以我的查询需要是一个基于会话的视图。
我有两个查询[安装查询]和[服务查询],我导入到Excel。 InstallQuery 1:Excel Sheet 1 服务查询2:Excel表2
两个查询是相同的exept,它们在条件
时有所不同两个excel表之间的链接是(站点号),认为这是一个等价的数字地址。
我想计算60天内有多少安装工作有服务电话。因此,在excel中,我首先执行安装查询表1并插入新的计算列“Warrant Date”,其中包含现有日期列“Onsite Date”并添加60天。具体如下: 现场日期+ 60天=保修日期。
然后我从服务查询表2上的安装查询表1中查找站点编号,如果找到匹配项,我将服务日期与安装日期进行比较。在名为“保修范围”的新列中使用以下逻辑 如果服务日期< =保修日期 然后“涵盖” 否则“不涵盖”
目前,结果位于安装表格中,其中包含excel中的所有列,并添加了“保修范围”列
由于
答案 0 :(得分:0)
这正是使用case语句 - 根据相关标准为您提供派生列。 加入相关列中的表格,然后在此示例中选择所需的结果 - (为了清楚起见,我将表格别名化):
SELECT ST.*
,CASE
WHEN [Service Date] <= [Warranty Date]
THEN 'Covered'
ELSE 'Not Covered'
END as 'Warranty coverage'
FROM [Install table] AS IT
INNER JOIN [Service table] AS ST
ON IT.[site number] = ST.[site number]