1

質問:

クエリで(顧客、ベンダー、銀行、税務当局)を含む、システム上のすべての住所を取得し、列( nameaddress )のあるビューに配置する方法を知りたいです。したがって、それは当事者および非当事者の実体になります。

私がやろうとしたこと:

私はテーブルの概念を使用して、パーティーの問題を理解します。

ロケーションデータモデルの一部

LogisticsPostalAddress-テーブルには、さまざまなエンティティに関連付けることができるシステム内のアドレスが含まれています。アドレスに関する主な情報がどこにあるか、残りはこれらのアドレスの追加の説明であるようです。

CustTableとVendTableには、DirPartyTableへのFKがあります。BankAccountTableTaxAuthorityAddressは、関係Location_FKで、 LogisticsPostalAddressと関係があるLogisticsLocationと直接関係があります。

ここで問題となるのは、顧客、銀行口座、ベンダー、税務当局から住所を取得し、それを(名前、住所)のペアを持つビューに配置するクエリを作成する方法です。

編集済み

メソッドを使用してすべてのアドレスを取得する方法を見つけましたが、クエリは使用せず、あまり効率的ではありませんが、必要なものには十分でした。

1)テーブルを作成します:AllAddresses例:フィールド付き:名前、住所

2)ジョブを作成します。

static void GettingAllAddresses(Args _args)
{
    CustTable custTable;
    VendTable vendTable;
    TaxAuthorityAddress taxAuthorityAddress;

    LogisticsPostalAddress logisticsPostalAddress;
    AllAddresses allAddresses;

    ;

    while select * from custTable
    {
        allAddresses.Address = custTable.address();
        allAddresses.Name = custTable.name();
        allAddresses.CustAccount = custTable.AccountNum;
        allAddresses.doInsert();
    }



    //Getting all vendors
    while select * from vendTable
    {

        allAddresses.Address = vendTable.address();
        allAddresses.Name = vendTable.name();
        allAddresses.doInsert();
    }

    //Getting all tax authorities addresses
    while select * from taxAuthorityAddress
    {


        allAddresses.Address = TaxAuthorityAddress::address(taxAuthorityAddress.TaxAuthority);
        allAddresses.Name = taxAuthorityAddress.Name;
        allAddresses.doInsert();
    }

    //Getting all bank addresses
    while select * from bankAccountTable
    {
        logisticsPostalAddress = LogisticsLocationEntity::location2PostalAddress(bankAccountTable.Location);
        allAddresses.Address = logisticsPostalAddress.Address;
        allAddresses.Name = bankAccountTable.Name;
        allAddresses.doInsert();
    }
}
4

2 に答える 2

1

ビューがどのようにLogisticsEntityPostalAddressView構築されているかを見てください。必要な情報がすでに提供されている可能性があります。テーブルのDescriptionフィールドがLogisticsLocation十分でなくName、たとえばテーブルのフィールドが本当に必要なBankAccountTable場合は、同様のビューを作成する必要があります。

LogisticsEntityLocationViewビューは、複数のテーブルからデータをプルするユニオンクエリを持つビューを使用していることがわかります。同様のビューを作成して、、、、およびからNameフィールドを取得できます。BankAccountTableDirPartyTableTaxAuthorityAddress

于 2012-06-27T15:07:46.203 に答える