数据库整合数据报表SQL实战
2016-09-02 14:02
274 查看
协助同事整理sql统计报表。
---建立由avalue的视图,要过滤重复数据
CREATE VIEW vLectAnswerRecord
as
SELECT t2.OpenID,t2.Qguid,t1.AValue av FROM TbLectAnswer t1,TbLectAnswerRecord t2 WHERE t1.AID=t2.AID
---获取用户组合答案
SELECT Qguid,OpenID, data=STUFF((
SELECT ','+[t].[av] FROM vLectAnswerRecord t WHERE t.Qguid=t1.Qguid AND t.openid=t1.OpenID FOR XML PATH('')
), 1, 1, '')
FROM vLectAnswerRecord t1 GROUP BY qguid,OpenID
---将组合答案插入到临时表
INSERT into tbtmp( Qguid,OpenID,avs)
SELECT Qguid,OpenID, data=STUFF((
SELECT ','+[t].[av] FROM vLectAnswerRecord t WHERE t.Qguid=t1.Qguid AND t.openid=t1.OpenID FOR XML PATH('')
), 1, 1, '')
FROM vLectAnswerRecord t1 GROUP BY qguid,OpenID
---将组合的逗号去掉
UPDATE tbtmp SET avs2=REPLACE(avs,',','')
---关联试题正确答案表,得出用户题目是否正确
---SELECT * FROM tbtmp
UPDATE tbtmp SET istrue=1
FROM tbtmp INNER JOIN
TBLectQuestion ON tbtmp.Qguid=TBLectQuestion.Qguid AND tbtmp.avs=TBLectQuestion.QResult
--- SELECT TOP 100 Lguid,QResult,Qguid,QType FROM dbo.TBLectQuestion WHERE qguid='5ff05fb1ff62ddbc31324dc30aae5c31'
---建立由avalue的视图,要过滤重复数据
CREATE VIEW vLectAnswerRecord
as
SELECT t2.OpenID,t2.Qguid,t1.AValue av FROM TbLectAnswer t1,TbLectAnswerRecord t2 WHERE t1.AID=t2.AID
---获取用户组合答案
SELECT Qguid,OpenID, data=STUFF((
SELECT ','+[t].[av] FROM vLectAnswerRecord t WHERE t.Qguid=t1.Qguid AND t.openid=t1.OpenID FOR XML PATH('')
), 1, 1, '')
FROM vLectAnswerRecord t1 GROUP BY qguid,OpenID
---将组合答案插入到临时表
INSERT into tbtmp( Qguid,OpenID,avs)
SELECT Qguid,OpenID, data=STUFF((
SELECT ','+[t].[av] FROM vLectAnswerRecord t WHERE t.Qguid=t1.Qguid AND t.openid=t1.OpenID FOR XML PATH('')
), 1, 1, '')
FROM vLectAnswerRecord t1 GROUP BY qguid,OpenID
---将组合的逗号去掉
UPDATE tbtmp SET avs2=REPLACE(avs,',','')
---关联试题正确答案表,得出用户题目是否正确
---SELECT * FROM tbtmp
UPDATE tbtmp SET istrue=1
FROM tbtmp INNER JOIN
TBLectQuestion ON tbtmp.Qguid=TBLectQuestion.Qguid AND tbtmp.avs=TBLectQuestion.QResult
--- SELECT TOP 100 Lguid,QResult,Qguid,QType FROM dbo.TBLectQuestion WHERE qguid='5ff05fb1ff62ddbc31324dc30aae5c31'
相关文章推荐
- SQL Server Reporting Service 报错:报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥,必须还原备份密钥或删除所有加密的内容。
- SQL Server Reporting Service 报错:报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥,必须还原备份密钥或删除所有加密的内容。
- 实战 SQL Server 2008 数据库误删除数据的恢复 (转载至dudu http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html)
- 用sql删除数据库重复的数据的方法
- 把sql数据和access数据整合成一个数据集
- "报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥"错误的解决
- SQL语句实现附加数据库,可以改数据库物理文件名,数据库名,非常方便
- 如何将数据导入到 SQL Server Compact Edition 数据库中(一)
- 使用eclipse在jsp上显示水晶报表(三)用sql语句过滤数据
- 使用Sql语句从数据库读出数据字典(Good)
- 将数据从数据库导入EXCEL的SQL语句
- 如何将数据导入到 SQL Server Compact Edition 数据库中(续)
- 查看数据库和数据字典的SQL(摘)
- pl/sql入门第五章--数据库数据对象分析(下)
- 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中(转载)
- [软件共享]将数据库中的数据导出为SQL脚本
- 把sql数据和access数据整合成一个数据集
- 异构数据库之间完全可以用SQL语句导数据[转自大富翁论坛]
- SQL 2000 异数据库数据同步
- 利用SQL生成月报表统计数据