サポートされている結合の種類
データは通常、単独のエンティティには保存されません。そのため、データ上でクエリの操作をする際には、複数のエンティティに保存されているレコードを結合する必要があります。これは複数のエンティティからのレコードの結合としても知られています。
これを行うには、エンティティをAggregateにドラッグします。これらは自動的に結合されますが、結合方法は[Sources]タブでいつでもカスタマイズできます。2つのエンティティからレコードを結合する方法は4種類あります。
- 両方のエンティティに一致するレコードのみを取得する。
- 2番目のエンティティに一致するものがなくても、最初のエンティティのすべての行を取得する。
- 両方のエンティティの行を取得する。
- 最初のエンティティの各レコードと2番目のエンティティのレコードを一致させる。
以下の例では、2つのエンティティを結合します。
一致するレコードのみを取得する
Engineerが割り当てられているIssuesのみを取得するには、Only Withを使用します。
Engineerがまだ割り当てられていないIssuesは返されません。ご注意ください。
一致するものがなくても、エンティティのすべてのレコードを取得する
Engineerが割り当てられているかどうかにかかわらず、すべてのIssuesを取得するには、WithまたはWithoutを使用します。
この種類の結合では、結合条件のエンティティの順序が返される行に影響を及ぼします。最初のエンティティのすべてのレコードを取得してから、2番目のエンティティの行を結合します。そのため、エンティティの順序を入れ替えると、結果が異なります。
Engineerが割り当てられていないIssuesの場合、Engineerに関する情報の列はデフォルト値になります。ご注意ください。
両方のエンティティの行を取得する
一致するものがなくてもすべてのIssuesとEngineersを取得するには、Withを使用します。
Engineerが割り当てられていないIssuesの場合、Engineerに関する情報の列はデフォルト値になります。ご注意ください。
割り当てられたIssuesのないEngineerは、Issuesに関する情報はデフォルト値になります。
このオプションはサードパーティシステムにデータをエクスポートする場合に特に有効です。
リレーションを無視してすべてのレコードを結合する
(たとえば、各チームと対戦チームをペアにしたリストを作成するために)エンティティの各レコードを2番目のエンティティのすべてのレコードと結合するには、[Sources]タブで結合が定義されていないことを確認します。
各チームと対戦チームをペアにするには、AggregateにTeamエンティティを2回追加します。
次に、チームが自らとペアになっていないようにAggregateをフィルタリングします。