0

10,000 件の顧客 ID のリストを含むスプレッドシートがあります。

また、20,000,000 人の顧客を含む顧客テーブルを持ち、顧客 ID、名、電子メールなどの属性を含む SQL Server 2008R2 データベースもあります。

できれば Excel 内で、DB にクエリを実行し、スプレッドシートで 10,000 人の顧客の名と電子メールを取得したいと考えています。

DB からすべての 20,000,000 レコードを取得してから、10,000 人の顧客をフィルター処理したくはありません。これは、DB に負担がかかりすぎるためです (20,000,000 行を返すには)。

DBクエリ内でフィルター述語を適用して、次のようなことを行う方法を見つけようとしています:

SELECT first_name, email 
FROM customers
WHERE customer_id IN (
SELECT customer_id FROM [Excel Spreadsheet]
)

WHERE CUSTOMER_ID IN ( <comma seperated list of customer_ids> )10,000 個の顧客 ID (整数) があり、1 つの SQL ステートメントに含めることができる文字数に制限があるように見えるため、クエリ内では実行できません。

私は PowerPivot を持っていますが、最初に 2,000 万人の顧客を取り戻さない限り、それを行う方法を見つけることができません。

私は VBA を使用したくありません。ソリューションは、技術者ではないエンド ユーザーでも実行できる必要があります。

これを行うことができるツールはありますか?

4

1 に答える 1

0

申し訳ありませんが、私はこれに慣れていません (最後に聞きたいことです) が、私の現在のプロジェクトは、Excel を DB に接続し、SQL を使用して特定のクエリを呼び出して Excel シートにロードするという点で似ています。すでに質問されているフォーラムへのリンクがあります。http://community.spiceworks.com/topic/215327-using-column-data-from-excel-to-use-in-a-sql-query-statement 彼らが提供する答えがドンとしてあなたに関連していることを願っていますVBA をまったく使用せず、非常にシンプルに見えます。

于 2013-01-04T14:54:21.840 に答える