問題タブ [snowflake-schema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 一意のトランザクション ID の発生回数に基づいて AVG の売上を取得する (SNOWFLAKE)
製品レベルの詳細とともにトランザクション販売 AMT をプルしたい小売 DB があります。
残念ながら、SALE_AMT 列は商品別の売上ではなく、トランザクションの総売上高であることに気付きました。このため、私の SALE_AMT は、一意のトランザクション ID が表示された回数 (その 1 回のトランザクションで購入された製品の数に基づく) だけ重複しています。
これに対処し、正確なトランザクション Sale_AMT を取得する最善の方法は、SALE_AMT / 特定のトランザクション ID が発生する回数で AVG を実行することだと思います。しかし、私はそれを行う方法を理解するのに苦労しています。私のSQLは以下です:
sql-server - リンクサーバー接続を使用して、IBM iシリーズデータベーステーブルからSNOWFLAKEデータベーステーブルにデータを挿入
INSERT データを IBM i シリーズ データベース (作成されたリンク サーバー接続 -SOFT) テーブルから SNOWFLAKE データベース テーブル (作成されたリンク サーバー接続 -SF_64) に
連携サーバー接続(SQL サーバーの 1 つに作成) SOFT - IBM Iseries データベースとの連携サーバー接続 SF_64 - IBM Iseries データベースとの連携サーバー接続
SQLサーバーで上記のクエリを実行すると、以下のエラーが発生します
メッセージ 7399、レベル 16、状態 1、行 1
リンク サーバー "SF_64" の OLE DB プロバイダー "MSDASQL" がエラーを報告しました。プロバイダーは、エラーに関する情報を提供しませんでした。
メッセージ 7312、レベル 16、状態 1、行 1
リンク サーバー "SF_64" の OLE DB プロバイダー "MSDASQL" のスキーマまたはカタログの使用が無効です。4 部構成の名前が指定されましたが、プロバイダーは、カタログまたはスキーマを使用するために必要なインターフェイスを公開していません。