【问题标题】:I want to set Dynamic SQL (Getting conversion failed error)我想设置动态 SQL(获取转换失败错误)
【发布时间】:2016-04-25 04:06:11
【问题描述】:

我想将以下查询设置为 Query2 varchar(max) 变量,但出现错误

Conversion Failed when converting the varchar value 'SELECT...

我想我可能遗漏了一些关于 + 或 / 的东西 不过我不确定。

Set @Query2 = 'SELECT tc.RequestID, cast(d2.CalendarYearNumber AS VARCHAR(4))' + 'P' + ' AS [Year],
    CAST(SUM(HHIncomeBelow10k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income Less than $10,000P],
    CAST(SUM([HHIncome10k-15k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $10,000 - $15,000P],
    CAST(SUM([HHIncome15k-20k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $15,000 - $20,000P],
    CAST(SUM([HHIncome20k-25k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $20,000 - $25,000P],
    CAST(SUM([HHIncome25k-30k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $25,000 - $30,000P],
    CAST(SUM([HHIncome30k-35k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $30,000 - $35,000P],
    CAST(SUM([HHIncome35k-40k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $35,000 - $40,000P],
    CAST(SUM([HHIncome40k-45k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $40,000 - $45,000P],
    CAST(SUM([HHIncome45k-50k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $45,000 - $50,000P],
    CAST(SUM([HHIncome50k-60k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $50,000 - $60,000P],
    CAST(SUM([HHIncome60k-75k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $60,000 - $75,000P],
    CAST(SUM([HHIncome75k-100k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $75,000 - $100,000P],
    CAST(SUM([HHIncome100k-125k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $100,000 - $125,000P],
    CAST(SUM([HHIncome125k-150k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $125,000 - $150,000P],
    CAST(SUM([HHIncome150k-200k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $150,000 - $200,000P],
    CAST(SUM(HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $200,000 or moreP],
    CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k]
     + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] 
     + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] 
     + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS TotalP 
INTO #tmpHHPct
FROM Fact.DemographicBlockGroup d
INNER JOIN Report.RequestMSTGeoID_CBG tc ON d.GeographyID = tc.GEOID
INNER JOIN dim.Date d2 ON d.DateSK = d2.DateSK
WHERE CurrentRecord = 1
    AND tc.RequestID =  ' + @RequestID + ' 
GROUP BY tc.RequestID, d2.CalendarYearNumber'

【问题讨论】:

  • 变量@RequestID的数据类型是什么?
  • 能否请您提供sqlfiddle.com 或至少一些带有示例数据的临时表?
  • 为什么这甚至需要动态SQL?为什么要附加输入参数而不是使用适当的强类型参数来保护自己免受 SQL 注入?无论如何,答案很简单 - @RequestID 是一个整数,因此 SQL Server 试图将 big string 添加到该值。如果你想以一种可怕的、保持你的简历新鲜的方式继续这样做,你需要将变量转换为一个字符串。 + CONVERT(VARCHAR(11), @RequestID) +.
  • 如果您喜欢自己的工作,并且您的公司喜欢避免数据泄露,请阅读thisthisthis。或者,如果您不喜欢我的风格,请自行搜索 SQL injection
  • (你可能还需要+' + ''P'''+ 而不是+'P'+。)

标签: sql sql-server sql-server-2008 dynamic


【解决方案1】:

假设 @RequestID 不是 VARCHAR 和某种数字类型,如 INT。

试试这个:

Set @Query2 = 'SELECT tc.RequestID, cast(d2.CalendarYearNumber AS VARCHAR(4))' + 'P' + ' AS [Year],
    CAST(SUM(HHIncomeBelow10k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income Less than $10,000P],
    CAST(SUM([HHIncome10k-15k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $10,000 - $15,000P],
    CAST(SUM([HHIncome15k-20k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $15,000 - $20,000P],
    CAST(SUM([HHIncome20k-25k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $20,000 - $25,000P],
    CAST(SUM([HHIncome25k-30k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $25,000 - $30,000P],
    CAST(SUM([HHIncome30k-35k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $30,000 - $35,000P],
    CAST(SUM([HHIncome35k-40k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $35,000 - $40,000P],
    CAST(SUM([HHIncome40k-45k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $40,000 - $45,000P],
    CAST(SUM([HHIncome45k-50k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $45,000 - $50,000P],
    CAST(SUM([HHIncome50k-60k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $50,000 - $60,000P],
    CAST(SUM([HHIncome60k-75k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $60,000 - $75,000P],
    CAST(SUM([HHIncome75k-100k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $75,000 - $100,000P],
    CAST(SUM([HHIncome100k-125k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $100,000 - $125,000P],
    CAST(SUM([HHIncome125k-150k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $125,000 - $150,000P],
    CAST(SUM([HHIncome150k-200k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $150,000 - $200,000P],
    CAST(SUM(HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $200,000 or moreP],
    CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k]
     + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] 
     + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] 
     + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS TotalP 
INTO #tmpHHPct
FROM Fact.DemographicBlockGroup d
INNER JOIN Report.RequestMSTGeoID_CBG tc ON d.GeographyID = tc.GEOID
INNER JOIN dim.Date d2 ON d.DateSK = d2.DateSK
WHERE CurrentRecord = 1
    AND tc.RequestID =  ' + CAST(@RequestID AS VARCHAR(100)) + ' 
GROUP BY tc.RequestID, d2.CalendarYearNumber'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多