问题:
我想知道如何在查询中获取系统上的所有地址,包括(客户、供应商、银行和税务机关),并将其放在带有列(名称、地址)的视图上。因此,它将是缔约方和非缔约方实体。
我试图做的事情:
我使用表格概念为各方找出问题:
LogisticsPostalAddress - 表包含系统中可能与各种实体相关联的地址。是关于地址的主要信息在哪里,其余的似乎是这些地址的额外描述。
CustTable和 VendTable 对DirPartyTable有一个 FK 。BankAccountTable和TaxAuthorityAddress直接与LogisticsLocation有关系,后者与LogisticsPostalAddress在关系 Location_FK 处有关系。
现在的问题是如何构建从客户、银行账户、供应商和税务机关获取地址的查询,并将其放在具有 (name,address) 对的视图中?
已编辑
我找到了一种使用方法获取所有地址的方法,但不使用查询,效率不高,但对于我想要的已经足够了:
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();
}
}