2017-11-20 12 views
0

コンソールアプリケーションで実行中のSQLコードがあります。SQLコマンド実行中のエラー

"system.Data.SqlClient.SqlException: ' キーワード' TB 'の近くに構文が正しくありません。

コードを複数回変更して正しく動作させるようにしましたが、同じエラーが発生します。修正を試みると、2番目の「TB」最後の行に「)TB」それが言うエラー、責任がある誰もがそれがそのTB好きではない理由のアイデアを持っています。ここのコードは次のとおりです。?

string SQLCode = "SELECT TB.RowType,TB.company,TB.Account,TB.segvalue1,TB.segvalue2,TB.segvalue3,TB.segvalue4,TB.fiscalyear,TB.fiscalperiod,SUM(TB.BalanceAmt) as tbBalanceAmt" + 
        "FROM(SELECT 'Actual' AS RowType,GLJ.company,GLJ.glaccount AS Account,GLJ.segvalue1,GLJ.segvalue2,GLJ.segvalue3,GLJ.SegValue4," + 
        "GLJ.fiscalyear,GLJ.fiscalperiod,GLJ.jedate,GLJ.description,GLJ.vendornum,GLJ.apinvoicenum,SUM(GLJ.debitamount - GLJ.creditamount) as glBalanceAmt,"+ 
        "GLJ.groupid,GLJ.posteddate FROM GLJrnDtl GLJ GROUP BY GLJ.company,GLJ.glaccount,GLJ.segvalue1,GLJ.segvalue2,GLJ.segvalue3,"+ 
        "GLJ.SegValue4,GLJ.fiscalyear,GLJ.fiscalperiod,GLJ.jedate,GLJ.description,GLJ.vendornum,GLJ.apinvoicenum,GLJ.groupid,GLJ.posteddate"+ 
        " UNION ALL SELECT 'Budget' AS RowType,GLB.company,GLB.BalanceAcct AS Account,GLB.segvalue1,GLB.segvalue2,GLB.segvalue3,GLB.segvalue4,GLB.fiscalyear,GLB.fiscalperiod,"+ 
       "GLB.Date01 AS jedate,'' AS description,'' AS vendornum,'' AS apinvoicenum,SUM(GLB.BudgetAmt) as gbBalanceAmt,'' AS groupid,"+ 
        "0 AS posteddate FROM GLBudgetDtl GLB WHERE GLB.segvalue3 <> '' AND GLB.BalanceType = 'D'"+ 
       "GROUP BY GLB.company,GLB.BalanceAcct,GLB.segvalue1,GLB.segvalue2,GLB.segvalue3,GLB.segvalue4,GLB.fiscalyear,GLB.fiscalperiod,GLB.Date01, GLB.BudgetAmt) TB"+ 
       " WHERE tb.Company = NVV AND TB.fiscalyear = '2017' AND tb.fiscalperiod BETWEEN 1 AND 10 and tb.segvalue1 = '4450'"; 
+0

コードに複数のエラーがあります。非常に単純なクエリから始め、コンポーネントを1つずつ追加することをお勧めします。 –

答えて

3

あなたは、何のスペースを持っていませんあなたの弦の終わりです。つまり、その意味は

tbBalanceAmt" + "FROM

は、thBalanceAmtFromと評価されます。

+0

誰かが自分のdownvoteを説明する気に? – Jacobm001

+1

答え自体は正しいですが、トピック以外の質問には答えないでください。このようなタイポグラフィの問題は、ヘルプセンターごとにトピック外です。 –

+1

@CamiloTerevinto:私はこれをタイポグラフィの問題と考えることはほとんどありません。ユーザーは、コードをより読みやすくする方法を尋ねていません。むしろ、彼らは間違っていたことを理解しようとしています。 – Jacobm001

関連する問題