我正在使用SQL Server,并且我有两个表,我想合并为一个查询,用它来填充gridview。
表1 dbo.Work
UID(PK,int)
Tech_Ticket(int)
RMA_Ticket(int)
区域(nchar10)
已完成(nchar10)
FA(nchar10)
代理(nvarchar50)
跟踪(nvarchar50)
Date_Added(date)
Date_Updated(date)
表2 dbo.Orders
UID(PK,int)
订单(int)
代理(nvarchar50)
票证(int)
注释(nvarchar50)
现在,我将它们设置为两个单独的查询和两个单独的表。
查询1:
SELECT [Agent],
SUM(CASE WHEN [Date_Added] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'New ',
SUM(CASE WHEN [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Worked',
SUM(CASE WHEN [Completed] = 'yes' AND [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Completed',
SUM(CASE WHEN [Failure_Analysis] = 'yes' AND [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'FA'
FROM Work
GROUP BY [Agent]
查询2:
SELECT [Agent]
SUM(CASE WHEN [Date] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Orders'
FROM Orders
GROUP BY [Agent]
有没有办法将这两个查询合并为一个?
你可以的JOIN
。假设这Work
是主表,则应如下所示:
SELECT A.*, B.Orders
FROM ( SELECT [Agent],
SUM(CASE WHEN [Date_Added] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'New',
SUM(CASE WHEN [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Worked',
SUM(CASE WHEN [Completed] = 'yes' AND [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Completed',
SUM(CASE WHEN [Failure_Analysis] = 'yes' AND [Date_Updated] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'FA'
FROM Work
GROUP BY [Agent]) A
LEFT JOIN (SELECT [Agent]
SUM(CASE WHEN [Date] BETWEEN @startDate AND @endDate THEN 1 ELSE 0 END) AS 'Orders'
FROM Orders
GROUP BY [Agent]) B
ON A.[Agent] = B.[Agent]
主要内容:UnionFind2.java 文件代码:对于一组数据,并查集主要支持两个动作: union(p,q) - 将 p 和 q 两个元素连接起来。 find(p) - 查询 p 元素在哪个集合中。 isConnected(p,q) - 查看 p 和 q 两个元素是否相连接在一起。 在上一小节中,我们用 id 数组的形式表示并查集,实际操作过程中查找的时间复杂度为 O(1),但连接效率并不高。 本小节,我们将用另外一种方式实现并查集。把每一个元
我是微软图形API的新手。我们的应用程序要求根据预期主题收集最新电子邮件,并收集电子邮件附件(CSV格式)。 当使用下面的查询时,但是使用2个GET请求时,这已经很好了: 首先是收集最新的电子邮件: https://graph.microsoft.com/v1.0/me/messages?$select=id,有附件 第二种是通过传递从第一个查询返回的id来收集附件: https://graph.
问题内容: 我要么变老,要么我需要写的查询变得越来越复杂。以下查询将获取与该用户的所有关联。 该表为(,,,); 现在,我还需要通过 独立查询如下所示: 但是,是否可以将这两个查询合并为一个查询?我的逻辑认为应该这样,尽管我不知道如何进行实际的JOIN。 问题答案: 我可能会使用UNION。
本文向大家介绍详解sqlserver查询表索引,包括了详解sqlserver查询表索引的使用技巧和注意事项,需要的朋友参考一下 SELECT 索引名称=a.name ,表名=c.name ,索引字段名=d.name ,索引字段位置=d.colid 需创建索引 例如: 根据某列判断是否有重复记录,如果该列为非主键,则创建索引 根据经常查询的列,创建索引 无须创建索引 字段内容大部分一样,
本文向大家介绍深入分析SqlServer查询计划,包括了深入分析SqlServer查询计划的使用技巧和注意事项,需要的朋友参考一下 对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。 首先,打
本文向大家介绍详解SQLServer和Oracle的分页查询,包括了详解SQLServer和Oracle的分页查询的使用技巧和注意事项,需要的朋友参考一下 不管是DRP中的分页查询代码的实现还是面试题中看到的关于分页查询的考察,都给我一个提示:分页查询是重要的。当数据量大的时候是必须考虑的。之前一直没有花时间停下来好好总结这里。现在又将Oracle视频中关于分页查询的内容看了一遍,发现很容易就懂了