0

シナリオ:

  • セージ 100 ERP
  • ProvideX ODBC ドライバー (32 ビット)
  • 列エイリアスと GROUP BY ステートメントを含む標準 SQL ステートメント。

コメント:

標準の Sage 100 ERP 環境で PVX/Sage ODBC コネクタを使用しています。それ以外の場合、ドライバーは正常に動作しています。


例:

1. 単純な列エイリアス

SELECT  InvoiceDate as TheColumn,
        SUM(NonTaxableSalesAmt) as Total    
    FROM AR_InvoiceHistoryHeader
    WHERE InvoiceDate <= {d[startdate]} AND InvoiceDate >= {d[enddate]}
    GROUP BY TheColumn

2.計算された列のエイリアス

SELECT  {fn MONTH(InvoiceDate)} as TheColumn,
        SUM(NonTaxableSalesAmt) as Total    
    FROM AR_InvoiceHistoryHeader
    WHERE InvoiceDate <= {d[startdate]} AND InvoiceDate <= {d[enddate]}
    GROUP BY TheColumn

3. GROUP BY 計算

SELECT  {fn MONTH(InvoiceDate)} as TheColumn,
        SUM(NonTaxableSalesAmt) as Total    
    FROM AR_InvoiceHistoryHeader
    WHERE InvoiceDate <= {d[startdate]} AND InvoiceDate <= {d[enddate]}
    GROUP BY {fn MONTH(InvoiceDate)}

結果:

  1. エラー [S0000] [ProvideX][ODBC Driver]Column not found: TheColumn
  2. エラー [S0000] [ProvideX][ODBC Driver]Column not found: TheColumn
  3. ERROR [37000] [ProvideX][ODBC Driver]予期される字句要素が見つかりません: (空白)

概要:

  1. これは ProvideX ドライバーのバグですか、それとも SQL クエリのエラーですか?
  2. このシナリオの既知の回避策はありますか?

明確化:この正確なユース ケースのソリューションを具体的に探しているわけではありませんが、列エイリアスと GROUP BY の組み合わせの一般的なソリューションを探しています。

4

1 に答える 1