シナリオ:
- セージ 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)}
結果:
- エラー [S0000] [ProvideX][ODBC Driver]Column not found: TheColumn
- エラー [S0000] [ProvideX][ODBC Driver]Column not found: TheColumn
- ERROR [37000] [ProvideX][ODBC Driver]予期される字句要素が見つかりません: (空白)
概要:
- これは ProvideX ドライバーのバグですか、それとも SQL クエリのエラーですか?
- このシナリオの既知の回避策はありますか?
明確化:この正確なユース ケースのソリューションを具体的に探しているわけではありませんが、列エイリアスと GROUP BY の組み合わせの一般的なソリューションを探しています。