有如下两个表
表一:Make(生产表)
D N Q (D:生产日期,N:编号,Q:质量(合格或不合格))
2000-01-01 001 False
2000-01-02 002 True
2001-01-01 003 True
....................表二:Repair(维修表)
D N B (D:生产日期,N:编号,B:可修复性)
2000-01-30 001 False
2001-02-01 003 True
求一条查询语句,查询结果为下统计表:
Y MC RC (Y:年份,MC:年生产总量,RC:年维修总量)
2000 ... ...
表一:Make(生产表)
D N Q (D:生产日期,N:编号,Q:质量(合格或不合格))
2000-01-01 001 False
2000-01-02 002 True
2001-01-01 003 True
....................表二:Repair(维修表)
D N B (D:生产日期,N:编号,B:可修复性)
2000-01-30 001 False
2001-02-01 003 True
求一条查询语句,查询结果为下统计表:
Y MC RC (Y:年份,MC:年生产总量,RC:年维修总量)
2000 ... ...
解决方案 »
- C#开发的控件可不可以用于“Delphi”
- 如何判断datetimepicker前面复选框未选中,而赋给日期列为null
- 通过EXCEL导入GridwView,再插入或更新到SQL数据
- DataGridViewComboBoxColumn应用问题??
- Pda如何调用WebService
- 导航菜单怎样实现
- 请问什么是User Interface Process Application Block?
- 抱歉,初学让大家见笑了。请问如何获得一个类或结构的大小?
- 我等好久没有人回答这个问题,也许你能回答我!
- C# 中树形结构的表示
- WinForm中如何实现两个DataGridView的数据联动?
- 关于语句运行顺序
只统计合格的吗?
你这个给的 说明太少了
此消息通过 【CSDN论坛 Winform测试版】 回复!有关此工具
统计表中所有数据,年生产量和维修量N是编号,你可以认为他是ISBN条形码,我写过一个查询语句,不过我认为我写的好像不太好,毕竟自己不熟悉,下面给出
select A.Y,A.MC,B.RC from (select year(MakeTime)as Y,count(*)as MC from MakeRecord group by year(MakeTime)) A,(select year(StartTime)as Y,count(*)as RC from RepairRecord group by year(StartTime)) B where A.Y=B.Y
count(t1.N) as MC ,
count(t2.N) as RC
from MakeRecord t1, RepairRecord t2
where convert(varchar(4),[t1.MakeTime],120) = convert(varchar(4),[t2.StartTime],120)
group by convert(varchar(4),[t1.MakeTime],120)
order by Y desc;
CREATE TABLE Repair(D VARCHAR(20), N VARCHAR(10), B VARCHAR(10))
INSERT dbo.Make
SELECT '2000-01-01', '001', 'False' UNION ALL
SELECT '2000-01-02', '002', 'True' UNION ALL
SELECT '2001-01-01', '003', 'True';
INSERT dbo.Repair
SELECT '2000-01-30', '001', 'False' UNION ALL
SELECT '2001-02-01', '003', 'True';
SELECT a.*,b.RC FROM
(SELECT YEAR(D) AS [D],COUNT(N) AS [MC] FROM dbo.Make GROUP BY YEAR(D))a
LEFT JOIN
(SELECT YEAR(D) AS [D],COUNT(N) AS [RC] FROM dbo.Repair GROUP BY YEAR(D))b
ON a.D = b.D
DROP TABLE dbo.Make,dbo.Repair
/*
D MC RC
----------- ----------- -----------
2000 2 1
2001 1 1(2 個資料列受到影響)*/