当前位置: 代码迷 >> Sql Server >> sql 未能找到 ID 为 104 的数据库。可能该数据库尚未激活,也可能正在转换过程中,该如何处理
  详细解决方案

sql 未能找到 ID 为 104 的数据库。可能该数据库尚未激活,也可能正在转换过程中,该如何处理

热度:546   发布时间:2016-04-27 19:16:04.0
sql 未能找到 ID 为 104 的数据库。可能该数据库尚未激活,也可能正在转换过程中
SQL code
  select 明细.*, (CAST (CAST((CASE WHEN 总费用=0 THEN 0 ELSE (报销金额*100)/总费用 END) AS NUMERIC(18,2)) AS VARCHAR(20))+'%') AS 报销百分比from(SELECT 医疗服务单位.名称 AS 报销单位, COUNT(*) AS 人次, SUM(总费用)      AS 总费用, SUM(应报金额) AS 应报金额, SUM(报销金额) AS 报销金额, 报销医院编码,报销明细.上级单位编码FROM ( SELECT dbo.jie(报销登记.登记号) as 登记号, 报销登记.诊治类型,       报销登记.登记日期, dbo.jie(报销登记.医疗证号) as 医疗证号, 报销登记.患者姓名, YEAR(报销日期)  AS 年度,MONTH(报销日期) AS 月份,      报销登记.身份证号, 报销登记.入院日期, 报销登记.出院日期, DATEDIFF(day, 报销登记.入院日期, 报销登记.出院日期) + 1  AS 天数,      报销登记.住院号, 报销登记.诊治医院编码, 报销登记.单病种,      医疗服务单位.名称 AS 诊治医院, 服务单位级别.名称 AS 诊治医院级别, 医疗服务单位.级别号,医疗服务单位.上级单位编码 AS 诊治医院上级编码,      疾病表.疾病名称 AS 入院诊断, 报销登记.报销医院编码,       医疗服务单位_1.名称 AS 报销医院,医疗服务单位_1.上级单位编码, 报销登记.总费用, 报销登记.应报金额, 医疗服务单位_1.级别号 AS 报销医院级别,      报销登记.报销金额, 报销登记.病人自负, 报销登记.单据数,       报销登记.报销日期, 报销登记.出院诊断, 行政区划.名称 AS 所在区县,       行政区划_1.名称 AS 所在乡镇, 行政区划_2.名称 AS 所在村,       (CASE WHEN 报销登记.慢性病人 = 1 THEN '是' ELSE '否' END) AS 慢性病人,       (CASE WHEN 报销登记.分娩 = 1 THEN '是' ELSE '否' END) AS 正常分娩,       LEFT(dbo.jie(报销登记.医疗证号), 10) AS 区划编码,(CAST((CASE WHEN 总费用=0 THEN 0 ELSE CAST((报销金额*100)/总费用 AS NUMERIC(18,2)) END)  AS VARCHAR(20))+'%') AS 报销百分比FROM 报销登记 LEFT OUTER JOIN      行政区划 行政区划_2 ON LEFT(dbo.jie(报销登记.医疗证号), 10)       = 行政区划_2.国际编码 LEFT OUTER JOIN      行政区划 行政区划_1 ON LEFT(dbo.jie(报销登记.医疗证号), 8)       = 行政区划_1.国际编码 LEFT OUTER JOIN      行政区划 ON LEFT(dbo.jie(报销登记.医疗证号), 6)       = 行政区划.国际编码 LEFT OUTER JOIN      医疗服务单位 医疗服务单位_1 ON       报销登记.报销医院编码 = 医疗服务单位_1.编码 LEFT OUTER JOIN      疾病表 ON 报销登记.入院诊断 = 疾病表.编号 LEFT OUTER JOIN      服务单位级别 RIGHT OUTER JOIN      医疗服务单位 ON 服务单位级别.级别号 = 医疗服务单位.级别号 ON       报销登记.诊治医院编码 = 医疗服务单位.编码WHERE 报销登记.审核=1 AND 诊治类型='住院') 报销明细 LEFT OUTER JOIN      医疗服务单位 ON 报销明细.报销医院编码 = 医疗服务单位.编码WHERE (诊治类型 = '住院') and (单病种=1)GROUP BY 报销医院编码,医疗服务单位.名称,报销明细.上级单位编码) 明细


写了加密和解密字符串的函数,但是上面调用时出现<未能找到 ID 为 104 的数据库。可能该数据库尚未激活,也可能正在转换过程中> 错误! 不知怎么回事?如果把中间的带解密函数的查询生成视图,在调用就没问题!但是数据量大的时候,生成视图再调用会很慢!出现上述错误是什么原因呢?或者能给个不用视图,能解决此问题方法?小弟不胜感激!!!!!小弟分少,以后补上!

------解决方案--------------------
try:
first:
SQL code
 SELECT dbo.jie(报销登记.登记号) as 登记号, 报销登记.诊治类型,       报销登记.登记日期, dbo.jie(报销登记.医疗证号) as 医疗证号, 报销登记.患者姓名, YEAR(报销日期)  AS 年度,MONTH(报销日期) AS 月份,      报销登记.身份证号, 报销登记.入院日期, 报销登记.出院日期, DATEDIFF(day, 报销登记.入院日期, 报销登记.出院日期) + 1  AS 天数,      报销登记.住院号, 报销登记.诊治医院编码, 报销登记.单病种,      医疗服务单位.名称 AS 诊治医院, 服务单位级别.名称 AS 诊治医院级别, 医疗服务单位.级别号,医疗服务单位.上级单位编码 AS 诊治医院上级编码,      疾病表.疾病名称 AS 入院诊断, 报销登记.报销医院编码,       医疗服务单位_1.名称 AS 报销医院,医疗服务单位_1.上级单位编码, 报销登记.总费用, 报销登记.应报金额, 医疗服务单位_1.级别号 AS 报销医院级别,      报销登记.报销金额, 报销登记.病人自负, 报销登记.单据数,       报销登记.报销日期, 报销登记.出院诊断, 行政区划.名称 AS 所在区县,       行政区划_1.名称 AS 所在乡镇, 行政区划_2.名称 AS 所在村,       (CASE WHEN 报销登记.慢性病人 = 1 THEN '是' ELSE '否' END) AS 慢性病人,       (CASE WHEN 报销登记.分娩 = 1 THEN '是' ELSE '否' END) AS 正常分娩,       LEFT(dbo.jie(报销登记.医疗证号), 10) AS 区划编码,(CAST((CASE WHEN 总费用=0 THEN 0 ELSE CAST((报销金额*100)/总费用 AS NUMERIC(18,2)) END)  AS VARCHAR(20))+'%') AS 报销百分比  into #FROM 报销登记 LEFT OUTER JOIN      行政区划 行政区划_2 ON LEFT(dbo.jie(报销登记.医疗证号), 10)       = 行政区划_2.国际编码 LEFT OUTER JOIN      行政区划 行政区划_1 ON LEFT(dbo.jie(报销登记.医疗证号), 8)       = 行政区划_1.国际编码 LEFT OUTER JOIN      行政区划 ON LEFT(dbo.jie(报销登记.医疗证号), 6)       = 行政区划.国际编码 LEFT OUTER JOIN      医疗服务单位 医疗服务单位_1 ON       报销登记.报销医院编码 = 医疗服务单位_1.编码 LEFT OUTER JOIN      疾病表 ON 报销登记.入院诊断 = 疾病表.编号 LEFT OUTER JOIN      服务单位级别 RIGHT OUTER JOIN      医疗服务单位 ON 服务单位级别.级别号 = 医疗服务单位.级别号 ON       报销登记.诊治医院编码 = 医疗服务单位.编码WHERE 报销登记.审核=1 AND 诊治类型='住院'
  相关解决方案