我有 2 个表,其中一个存储零售商信息(商店名称、地址、邮政编码)然后我有一个联系人表,其中存储个人详细信息名称、电话、电子邮件地址。
我正在导出数据,但因为我可能有多个零售商的联系人,所以导出会为每个联系人/零售商复制行。
例如:
Another Retailer, 26 Lime Street,London,Anna Triffo,0207 4932678,anna@another.com
Another Retailer, 26 Lime Street,London,Jane Hall,,
我想做的是在单独的列中为每个联系人位置,即:RetailerName,TradingName,AddressLine1,AddressLine2,AddressLine3,AddressLine4,Town,Country,Contact1,Contact2,Contact3,Contact4,Tel1,Tel2,Tel3,Tel4 ,电子邮件1 电子邮件2, 电子邮件3
所以上面的例子看起来像:
Another Retailer, 26 Lime Street,London,Anna Triffo,0207 4932678,anna@another.com,Jane Hall,,
输出将是:
HeadOffice_YN、HeadOfficeId_N_R、ReferenceId、RetailerName、TradingName AddressLine1、AddressLine2、Contact1、Tel1、Email1、Contact2、Tel2、Email2、IBAN、BIC Rebate、RebateCalc、VATRegNo
和我的选择:
SELECT
OL_HO_YN as 'HeadOffice_YN',
SageX3ID as 'HeadOfficeId_N_R',
tblBusinessPartner.BP_ID as 'ReferenceId',
BP_NAME,
OL_NAME as 'RetailerName',
OL_FULL_NAME as 'TradingName',
@num_street_lines := 1 + LENGTH(OL_ADDRESS) - LENGTH(REPLACE(OL_ADDRESS, '\n', '')) AS num_street_lines,
SUBSTRING_INDEX(OL_ADDRESS, '\n', 1) AS AddressLine1,
IF(@num_street_lines > 1, SUBSTRING_INDEX(SUBSTRING_INDEX(OL_ADDRESS, '\n', 2), '\n', -1), '') AS AddressLine2,
IF(@num_street_lines > 2, SUBSTRING_INDEX(SUBSTRING_INDEX(OL_ADDRESS, '\n', 3), '\n', -1), '') AS AddressLine3,
RetailerCountry.CO_NAME as 'Country',
if(OL_TOWN Is Null, '', OL_TOWN) AS 'Town',
if(BP_CREATED_DATE is null,'',BP_CREATED_DATE) as 'DateJoined_D',
if(Contact.LastName is Null, Contact.FirstName, concat(Contact.FirstName, ' ', Contact.LastName)) as Contact1,
Contact.TelNo as 'Tel1' , Contact.EmailAddress as 'Email1',
#Add More Contact Details here
BP_IBAN as 'IBAN',
BP_BIC as 'BIC',
BP_REBATE as 'Rebate',
tblCheckCodes.CC_Description as 'RebateCalc',
OL_VAT_REG_NO as 'VATRegNo'
FROM gbtfco_GBTF003L.tblBusinessPartner
join tblOutlet on BP_ID = OL_HO_BP_ID
join tblTerminal on OL_ID = TE_OL_ID
join tblCountry RetailerCountry on OL_CO_ID = CO_ID
join tblCheckCodes on tblBusinessPartner.BP_REBATE_CALC = tblCheckCodes.CC_CheckCode
left join ContactDetails Contact on tblOutlet.OL_ID = Contact.OL_ID
谢谢达伦
_