SQLには、次のような粒度のデータがあります。
Person ID Dish Restaurant Cost
1 Pasta The Spaghetti House 5
2 Burgers Burger Factory 7
3 Pasta The Spaghetti House 5
4 Pizza The Cheesy Slice 4
これは単なる例ですが、私のデータの本質を捉え、良い例を提供します。このデータから、食事が料理、レストラン、コストで構成される「食事」(スーパーセット)を抽象化する必要があります。一意の「食事」IDを生成する必要があります。注意点は、私が人を食事に関連付ける必要があるということです。
PersonID MealID
1 1
2 2
3 1
4 3
これまでのところ、私が思いついた最善の解決策は、料理、レストラン、コストの列からチェックサムを生成することです。これにより、各「食事」を一意に識別し、行のチェックサムを計算して、各人を各食事に関連付けることができます。
私は、データのスーパーセットを抽出するこのプロセスが何と呼ばれるかさえ知りません。ましてや、それを正しく行う方法はわかりません。(私はこの質問のタイトルに苦労しました)。チェックサムを使用することが最もエレガントなオプションであるかどうかはわかりませんが、機能しているようです。
SQLで子(人)とその親(食事)の関係を維持しながら、データのスーパーセットを抽出するプロセスはありますか?