2013-10-01 29 views
0

我找不到SELECT語句有什麼問題我試圖在存儲過程中使用:存儲過程:「給變量賦值的SELECT語句不能與數據檢索操作結合」

SELECT TOP 1 @TARIF = t.rea_est_tax_cla_ali_area, 
      @CHARACTERISTIC = t.rea_est_cha_id, 
      @USE = t.rea_est_use_id, 
      @TYPE = t.typ_rea_est_id, 
      ((CASE 
        WHEN t.rea_est_tax_cla_ali_area IS NULL THEN 1 
        ELSE 0 
       END) + (CASE 
          WHEN t.rea_est_cha_id IS NULL THEN 1 
          ELSE 0 
          END) + (CASE 
             WHEN t.rea_est_use_id IS NULL THEN 1 
             ELSE 0 
            END) + (CASE 
               WHEN t.typ_rea_est_id IS NULL 
               THEN 1 
               ELSE 0 
               END)) AS NULLCOLUMNCOUNT 
FROM dbo.tbl_real_estate_tax_classifier 

任何幫助表示讚賞,由於工作條例,我無法提交整個程序,但問題似乎在那裏。

回答

5

爲了便於閱讀,我使用換行符對代碼進行了重新格式化。

SELECT TOP 1 
    @TARIF = T.REA_EST_TAX_CLA_ALI_AREA, 
    @CHARACTERISTIC = T.REA_EST_CHA_ID, 
    @USE  = T.REA_EST_USE_ID, 
    @TYPE = T.TYP_REA_EST_ID, 
    ((CASE WHEN T.REA_EST_TAX_CLA_ALI_AREA IS NULL THEN 1 ELSE 0 END)+(CASE WHEN T.REA_EST_CHA_ID IS NULL THEN 1 ELSE 0 END) 
    +(CASE WHEN T.REA_EST_USE_ID IS NULL THEN 1 ELSE 0 END)+(CASE WHEN T.TYP_REA_EST_ID IS NULL THEN 1 ELSE 0 END)) AS NULLCOLUMNCOUNT 
FROM dbo.TBL_REAL_ESTATE_TAX_CLASSIFIER 

希望你現在看到了問題。 NULLCOLUMNCOUNT是您的罪魁禍首。

您是不是要寫這個?

SELECT TOP 1 
    @TARIF = T.REA_EST_TAX_CLA_ALI_AREA, 
    @CHARACTERISTIC = T.REA_EST_CHA_ID, 
    @USE  = T.REA_EST_USE_ID, 
    @TYPE = T.TYP_REA_EST_ID, 
    @NULLCOLUMNCOUNT = ((CASE WHEN T.REA_EST_TAX_CLA_ALI_AREA IS NULL THEN 1 ELSE 0 END)+(CASE WHEN T.REA_EST_CHA_ID IS NULL THEN 1 ELSE 0 END) 
    +(CASE WHEN T.REA_EST_USE_ID IS NULL THEN 1 ELSE 0 END)+(CASE WHEN T.TYP_REA_EST_ID IS NULL THEN 1 ELSE 0 END)) 
FROM dbo.TBL_REAL_ESTATE_TAX_CLASSIFIER 
3

的錯誤似乎很清楚 - 您使用的是選擇的一部分,給變量賦值,並部分恢復爲一列。

也許你想要這樣的事情?

SELECT TOP 1 
    @TARIF = T.REA_EST_TAX_CLA_ALI_AREA, 
    @CHARACTERISTIC = T.REA_EST_CHA_ID, 
    @USE  = T.REA_EST_USE_ID, 
    @TYPE = T.TYP_REA_EST_ID, 
    @NULLCOLUMNCOUNT = ((CASE WHEN T.REA_EST_TAX_CLA_ALI_AREA IS NULL THEN 1 ELSE 0 END) 
         +(CASE WHEN T.REA_EST_CHA_ID IS NULL THEN 1 ELSE 0 END) 
         +(CASE WHEN T.REA_EST_USE_ID IS NULL THEN 1 ELSE 0 END) 
         +(CASE WHEN T.TYP_REA_EST_ID IS NULL THEN 1 ELSE 0 END)) 
    FROM dbo.TBL_REAL_ESTATE_TAX_CLASSIFIER 
相關問題