関連するグループからデータをエクスポートするための最良のSQLクエリ方法は何ですか?

SF RVA

古いeコマースストアの「関連製品」であると思われる古いデータテーブル(MS ACCESSにあります)があります。私は新しい店のためにこれらの関連製品を回収しようとしています。

次のフィールド/データサンプルを含むデータセット:

+---------+------------+-----------------+
| GroupID |  ProductId |       Sku       |
+---------+------------+-----------------+
|    1001 |      12473 |   C2S-44682-AMB |
|    1001 |       3628 |    C-43604-1    |
+---------+------------+-----------------+

「groupID」は関連付けです。同じグループ内のproductIdは相互に関連付けられています。したがって、これら2つの製品は両方ともGroupId 1001に属しているため、相互に関連しています。合計で約3500行のデータがあります。

必要なのは、これらの関連製品を新しいテーブルにエクスポートして、新しいストアにインポートし、関連関係を維持できるようにすることです。新しいデータには、異なるフォーマットの構造が必要です。

ParentId(最初の製品)、ChildId(2番目の関連製品)つまり、上記の例を使用すると、次のようになります。

12473, 3628  (the first product should display the second)
3628, 12473  (the second product should display the first

これらの新しいレコードを見つけてループスルーし、新しいDBに書き込むための正しいSQLクエリを作成する方法がわかりません。

おそらく「For / Each」ループだと思いましたが、参照を探すときに、適切なコンテキストを見つけることができなかったようです(PHPの例はたくさんありますが、PHPは得意ではなく、SQLが必要だと思います)。これを行う方法)。SQLの「having」句で集計を実行できますが、これも私には正しくないようです。

進め方について何か提案はありますか?

scsimon

ループは必要ありません...自己結合するだけです。より詳細な例として、テストデータにいくつかのレコードを追加したことに注意してください。

declare @oldTable table (GroupID int, ProductId int, Sku varchar(64))
insert into @oldTable 
values
(1001,12473,'C2S-44682-AMB'),
(1001,3628,'C-43604-1'),
(1001,4896,'C-43-558604-1'),
(1099,4458,'C-xxx-1'),
(1099,5217,'C-asbf3-1')

select
    t1.ProductId as parent
    ,t2.ProductId as Child
from 
    @oldTable t1
left join 
    @oldTable t2 on
    t1.GroupID = t2.GroupID
    and t1.ProductId <> t2.ProductId

戻り値

+--------+-------+
| parent | Child |
+--------+-------+
|  12473 |  3628 |
|  12473 |  4896 |
|   3628 | 12473 |
|   3628 |  4896 |
|   4896 | 12473 |
|   4896 |  3628 |
|   4458 |  5217 |
|   5217 |  4458 |
+--------+-------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データを渡してオブジェクトをエクスポートするための最良の方法は何ですか?

分類Dev

APIを使用してすべてのNestuiteデータをエクスポートするための最良の方法は何ですか

分類Dev

マングースで大量のデータをクエリするための最良かつ最速の方法は何ですか?

分類Dev

Azure Service Fabricでデータをクエリするための最良の方法は何ですか?

分類Dev

使いやすさの観点から、ファイルをエクスポートするための最良の方法は何ですか?

分類Dev

OracleDBからOracleDBに巨大なデータをエクスポートするための最良の方法

分類Dev

大量のトランザクションデータをログに記録してクエリするための最良の方法は何ですか?

分類Dev

Railsに挿入クエリを使用して大きなデータをループするための最良の方法は何ですか

分類Dev

CouchDBをエクスポートする最良の方法は何ですか?

分類Dev

ReactとReduxでデータ集約型のリクエストを処理するための最良の方法は何ですか?

分類Dev

(Vue、React)のサブモジュールでモジュールをエクスポートするための最良の方法は何ですか

分類Dev

AngularサービスでバックエンドAPIからのデータを操作するための最良の方法は何ですか?

分類Dev

PHPexcelエクスポート大規模なエクスポートを処理するための最良の方法は何ですか

分類Dev

RoRで同じモデルから2つのインデックスリクエストを取得するための最良の方法は何ですか?

分類Dev

Adobe AIRアプリケーションをエクスポートするための最良のオプションは何ですか?

分類Dev

春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

分類Dev

C#では、リスト内の連続する日付をグループ化するための最良の方法は何ですか?

分類Dev

Firemonkeyモバイルアプリでオブジェクトのローカルデータを保存するための最良の方法は何ですか?

分類Dev

インストール/アップグレードスクリプトを検証するための最良の方法は何ですか?

分類Dev

データベースとそのデータをリファクタリングするための最良の方法は何ですか?(Laravel 5.2)

分類Dev

スクリプト内からPythonコンソール出力を電子メールとして送信するための最良の方法は何ですか?

分類Dev

MSSQLサーバーからデータをエクスポートするためのより良い方法

分類Dev

このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

分類Dev

このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

分類Dev

データクォータを超えた場合、このgithubリポジトリを「分割」するための最良の方法は何ですか?

分類Dev

後でフィルターを追加するために投影されたクエリを返すための最良の方法は何ですか

分類Dev

Webサイトからデータをスクレイピングする最良の方法は何ですか?

分類Dev

React Native:Fetch(Url)リクエストからのデータを指定してボタン要素のリストを作成するための最良の方法は何ですか?

分類Dev

データベースからデータを取得するための最良の方法は何ですか?

Related 関連記事

  1. 1

    データを渡してオブジェクトをエクスポートするための最良の方法は何ですか?

  2. 2

    APIを使用してすべてのNestuiteデータをエクスポートするための最良の方法は何ですか

  3. 3

    マングースで大量のデータをクエリするための最良かつ最速の方法は何ですか?

  4. 4

    Azure Service Fabricでデータをクエリするための最良の方法は何ですか?

  5. 5

    使いやすさの観点から、ファイルをエクスポートするための最良の方法は何ですか?

  6. 6

    OracleDBからOracleDBに巨大なデータをエクスポートするための最良の方法

  7. 7

    大量のトランザクションデータをログに記録してクエリするための最良の方法は何ですか?

  8. 8

    Railsに挿入クエリを使用して大きなデータをループするための最良の方法は何ですか

  9. 9

    CouchDBをエクスポートする最良の方法は何ですか?

  10. 10

    ReactとReduxでデータ集約型のリクエストを処理するための最良の方法は何ですか?

  11. 11

    (Vue、React)のサブモジュールでモジュールをエクスポートするための最良の方法は何ですか

  12. 12

    AngularサービスでバックエンドAPIからのデータを操作するための最良の方法は何ですか?

  13. 13

    PHPexcelエクスポート大規模なエクスポートを処理するための最良の方法は何ですか

  14. 14

    RoRで同じモデルから2つのインデックスリクエストを取得するための最良の方法は何ですか?

  15. 15

    Adobe AIRアプリケーションをエクスポートするための最良のオプションは何ですか?

  16. 16

    春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

  17. 17

    C#では、リスト内の連続する日付をグループ化するための最良の方法は何ですか?

  18. 18

    Firemonkeyモバイルアプリでオブジェクトのローカルデータを保存するための最良の方法は何ですか?

  19. 19

    インストール/アップグレードスクリプトを検証するための最良の方法は何ですか?

  20. 20

    データベースとそのデータをリファクタリングするための最良の方法は何ですか?(Laravel 5.2)

  21. 21

    スクリプト内からPythonコンソール出力を電子メールとして送信するための最良の方法は何ですか?

  22. 22

    MSSQLサーバーからデータをエクスポートするためのより良い方法

  23. 23

    このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

  24. 24

    このSQLクエリをElequentステートメントとして作成するための最良の方法は何ですか

  25. 25

    データクォータを超えた場合、このgithubリポジトリを「分割」するための最良の方法は何ですか?

  26. 26

    後でフィルターを追加するために投影されたクエリを返すための最良の方法は何ですか

  27. 27

    Webサイトからデータをスクレイピングする最良の方法は何ですか?

  28. 28

    React Native:Fetch(Url)リクエストからのデータを指定してボタン要素のリストを作成するための最良の方法は何ですか?

  29. 29

    データベースからデータを取得するための最良の方法は何ですか?

ホットタグ

アーカイブ