2

在 Freshdesk 测试环境中,以下 SQL 语句将涉及销售订单的所有联系人从 Exact Online 复制到 Freshdesk:

insert into contacts@freshdesk
( name
, address
, phone
, email
)
select delivery_account_name
,      fulladdress
,      account_phone
,      account_email
from   freshdesktickets@inmemorystorage

以下 SQL 用于在 Exact Online 的基础上准备 Freshdesk 工单:

create table FreshdeskTickets@inmemorystorage
as
select dlvl.delivery_account_name
,      acad.fulladdress,acad.account_phone
,      acad.account_email
from   ExactonlineXML..DeliveryLines@eolnl dlvl
join   fulladdress@inmemorystorage acad
on     acad.id_attr = dlvl.delivery_deliveryaddress_id_attr
where  dlvl.deliverydate_attr = '2016-10-07'
group 
by     dlvl.delivery_account_name
,      acad.fulladdress
,      acad.account_phone
,      acad.account_email

这运行没有问题。当我在客户的 Freshdesk 环境中执行此 SQL 语句时,我收到代码 itgenoda001 的错误(见图):验证失败。所有消息:invalid_value:exact_koppeling:它应该是以下值之一:'Ja,Nee'

Freshdesk 上的 itgenoda001 错误

显然有不同版本的 Freshdesk 正在使用中。如何调整我的查询以便在两个版本上都能正常工作?

4

1 回答 1

1

您收到此错误消息的原因是您的第二个 Freshdesk 安装有一个名为 的自定义字段exact_koppeling,而您的测试安装中缺少该字段。

没有简单的方法可以避免这种情况。您要么必须将自定义字段也添加到测试安装中,要么必须维护同一语句的两个版本。

我想您需要这样的insert声明,以使其在您的第二次安装中起作用:

insert
into contacts@freshdesk
( name
, address
, phone
, email
, exact_koppeling
)
select delivery_account_name
,      fulladdress
,      account_phone
,      account_email
,      'Ja' -- Or 'Nee'
from   freshdesktickets@inmemorystorage
于 2016-10-14T11:46:16.360 回答