我在表GAontime
中有以下数据。 OrgEinheit
指部门和GALaufzeit
是通过时间:带有计数和Microsoft SQL Server 2012中的条件的嵌套SQL查询
CREATE TABLE GAontime
([Auftragsart] varchar(9),
[GAZurueckIST] varchar(23),
[GALaufzeit] int,
[OrgEinheit] varchar(9),
[GAErteilungsJahr] int
);
INSERT INTO GAontime
([Auftragsart], [GAZurueckIST], [GALaufzeit], [OrgEinheit], [GAErteilungsJahr])
VALUES
('Gutachten', '2003-10-02 00:00:00.000', 2, 'FE11', 2003),
('Gutachten', '2003-10-09 00:00:00.000', 2, 'FE12', 2003),
('Gutachten', '2003-11-13 00:00:00.000', 3, 'FE12', 2003),
('Gutachten', '2006-12-01 00:00:00.000', 1045, 'FO11', 2004),
('Gutachten', '2003-11-18 00:00:00.000', 4, 'FE11', 2003),
('Gutachten', '2003-11-25 00:00:00.000', 6, 'FE12', 2003),
('Gutachten', '2003-12-11 00:00:00.000', 3, 'FE11', 2003),
('Gutachten', '2003-12-10 00:00:00.000', 2, 'FE12', 2003),
('Gutachten', '2003-12-19 00:00:00.000', 1, 'FE11', 2003),
('Gutachten', '2004-01-08 00:00:00.000', 1, 'FE11', 2004),
('Gutachten', '2004-02-25 00:00:00.000', 34, 'FE11', 2004),
('Gutachten', '2004-03-19 00:00:00.000', 57, 'FE12', 2004),
('Gutachten', '2004-02-25 00:00:00.000', 35, 'FE11', 2004),
('Gutachten', '2004-08-12 00:00:00.000', 94, 'FO1', 2004),
('Gutachten', '2004-02-05 00:00:00.000', 1, 'FE11', 2004),
('Gutachten', '2004-02-12 00:00:00.000', 6, 'FE12', 2004),
('Gutachten', '2004-06-18 00:00:00.000', 121, 'FE11', 2004),
('Gutachten', '2004-02-25 00:00:00.000', 7, 'FE11', 2004),
('Gutachten', '2004-03-05 00:00:00.000', 10, 'FE12', 2004),
('Gutachten', '2004-02-25 00:00:00.000', 0, 'FE11', 2004),
('Gutachten', '2004-03-19 00:00:00.000', 8, 'FE12', 2004)
;
我想最终是这样一个表:
OrgEinheit GAErteilungsJahr TotalNumber NumberFaster22d Percentage
FE11 2003 10 3 0.3
FE11 2004 20 6 0.3
FE12 ...
所以我需要的是让:
每年申请'OrgEinheit'的总数量
与交货期比22天
1.计算的百分比)+ 2)
对于1)更快的请求数我设法与
SELECT OrgEinheit,
COUNT(*) AS Anzahl, GAErteilungsJahr
FROM GAontime
GROUP BY OrgEinheit, GAErteilungsJahr
结果
对于2)我有:
SELECT OrgEinheit, Count(*) As Total
FROM GAontime
WHERE (GALaufzeit < 22)
GROUP BY OrgEinheit, GAErteilungsJahr
对于我搞砸了与语法问题,其余的是因为我想在单个SQL查询中执行此操作。
我的计划下面的步骤是:
- JOIN表从1)与2)
- 执行百分比
- 获得的结果表数据库视图的计算(如描述在'我想要的')
我该如何编写这个大的SQL查询?任何帮助表示赞赏。
(2)是每'OrgEinheit'但*不*每'GAErteilungsJahr'。因此可能(2)中的数字大于(1)中的数字。用这些术语计算百分比值没有多大意义。 –
是的,你是对的 - 我的错误。我更正了(2) – Bebass