JOIN クエリ
このセクションでは、本製品 による結合のサポート方法に固有の機能と制限について説明します。可能であれば、CData ADO.NET Provider for NetSuite はNetSuite 内で直接結合を実行しようと試みます。NetSuite が結合を処理できない場合は、SupportEnhancedSQL がtrue に設定されているときは代わりにクライアント側で実行されます。
NetSuite はNetSuite で定義されたリレーションを持つテーブルで結合クエリをサポートします。NetSuite で直接サポートされているのは、左外部結合のみです。
本製品 を使ってSQL でテーブルを結合する場合、これはNetSuite UI で[保存検索]を作成してから他の関連テーブルからデータを取得するオプションを選択するのと同じです。
次のクエリは、それぞれの顧客に関連付けられたすべてのNote を取得します。
SELECT n.Note AS MyNote, c.InternalId AS CustomerId FROM Customer c LEFT OUTER JOIN Note n ON n.Entity_InternalId = c.InternalId2つ以上のテーブルの結合がサポートされています。次のクエリは、それぞれのSalesOrder に関するCustomer およびBillingSchedule 情報を取得します。
SELECT Customer.AccountNumber AS CustomerAcctNumber, BillingSchedule.InitialAmount AS InitialAmount, SalesOrder.InternalId AS SalesOrderId FROM SalesOrder LEFT OUTER JOIN Customer ON SalesOrder.Entity_InternalId = Customer.InternalId LEFT OUTER JOIN BillingSchedule ON SalesOrder.BillingSchedule_InternalId=BillingSchedule.InternalIdNetSuite API の制限により、次のテーブルに対して結合はサポートされていません。
- 子テーブル
- カスタムレコードテーブル
- Tables の「シンプルテーブル」セクションにリストされているテーブル