SQL Server查询给出ASP错误



我有一系列SQL查询,它们在联机查询分析器中运行良好,但我很难将它们适应我的asp页面。

查询是。。。

SELECT part1 AS 'idParts',
       count(*) AS 'Total' INTO #TempTable
FROM T_Jobs
WHERE MONTH(Date) = 1
  AND YEAR(Date) = 2015
GROUP BY part1
UNION
SELECT part2 AS 'idParts',
       count(*) AS 'Total'
FROM T_Jobs
WHERE MONTH(Date) = 1
  AND YEAR(Date) = 2015
GROUP BY part2
UNION
SELECT part3 AS 'idParts',
       count(*) AS 'Total'
FROM T_Jobs
WHERE MONTH(Date) = 1
  AND YEAR(Date) = 2015
GROUP BY part3
DELETE
FROM #TempTable
WHERE idParts = 'Select Part:'
  SELECT #TempTable.idParts,#TempTable.Total,
                             T_Parts.partCost INTO #TempTable2
  FROM #TempTable
  JOIN T_Parts ON #TempTable.idParts=T_Parts.idParts
  SELECT Sum(Total*partCost) AS RESULT
  FROM #TempTable2

这将返回当月使用的所有零件的总成本,从一个表中检索零件列表,从另一个表检索该零件的相关价格。

但是,我该如何将其放入asp页面中,以便oConn.Execute(strSQL)它显示#TempTable2中的"Result"呢?

我只是似乎无法为strSQL找到正确的语法来执行它

如有任何帮助或指导,我们将不胜感激!非常感谢。

试试这个。。。

 strSQL = "select part1 as 'idParts',count(*) as 'Total' into #TempTable from     T_Jobs where MONTH(Date) = 1 AND YEAR(Date) = 2015 group by part1 " &
"UNION " &
 "select part2 as 'idParts',count(*) as 'Total' from T_Jobs where MONTH(Date) = 1 AND YEAR(Date) = 2015 group by part2 " &
 "UNION " &
 "select part3 as 'idParts',count(*) as 'Total' from T_Jobs where MONTH(Date) = 1 AND YEAR(Date) = 2015 group by part3 " &
 "GO " &
 "delete from #TempTable where idParts = 'Select Part:' " &
 "GO " &
 "select #TempTable.idParts,#TempTable.Total,T_Parts.partCost into #TempTable2 from #TempTable join T_Parts on #TempTable.idParts=T_Parts.idParts "  &
 "GO " &
 "select Sum(Total*partCost) as Result from #TempTable2 "

ok已解决。。。以下是我是如何做到的(在你的帮助下!)

我必须将查询拆分为4个部分,并使临时表成为半永久表,以便在不同的查询之间引用它。

strSQL="选择part1作为'idParts',将()作为'Total'从T_Jobs中计数到##TempTable中,其中MONTH(Date)="&exp_month&"AND YEAR(Date)="&exp_year&"按第1部分分组"&"UNION ALL"&"从T_Jobs中选择part2作为'idParts',计数()为'Total',其中MONTH(Date)="&exp_month&"AND YEAR(Date)="&exp_year&"按第2部分分组"&"UNION ALL"&"从T_Jobs中选择part3作为'idParts',计数()为'Total',其中MONTH(Date)="&exp_month&"AND YEAR(Date)="&exp_year&"按第3部分分组"
strSQL2="从##TempTable中删除,其中idParts='Select Part:'"
strSQL3="从##TempTable中选择##TempTable.idParts、##TempTable.Total、T_Parts.partCost到##TempTable2,将T_Parts连接到##TempTable.idParts=T_Parts.idParts"
strSQL4="从##TempTable2中选择Sum(Total
partCost)作为结果"

exp_month和exp_year变量来自引用表单,因此我可以选择要查看的日期。

工作是一种享受。谢谢你的帮助。

最新更新