SQL - 使用非变量变量来限制记录计数?

时间:2018-03-08 21:45:40

标签: sql salesforce

情况:我们已将Salesforce的Marketing Cloud与自动拨号器集成,以帮助与潜在客户取得联系。团队的可用性是可变的,我们最不希望的是爆炸过多的调用,导致人们只是排队等候。所以,我将为团队经理提供一个网络表单,在那里她可以输入一些线索来进行系统调用。

问题Marketing Cloud's SQL Activity不支持变量。所以,虽然我想做一些像:

SELECT TOP @X lead.phone FROM lead WHERE lead.status = 'Open' ORDER BY lead.dateCreated DESC

这是无法做到的。

我的问题,哦,SQL大师的:还有其他方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

似乎您在从其中一个表中选择时错过了from lead关键字。

答案 1 :(得分:0)

我必须说实话,我对Marketing Cloud的SQL没有做太多的工作,但普通的SQL你不需要使用点表示法,除非你指的是内连接:

SELECT phone FROM lead WHERE status = 'Open' ORDER BY dateCreated DESC

其次你尝试过使用Local Variable声明吗?

DECLARE @myLocalDateVar DATE
SET @myLocalDateVar = (SELECT Value FROM Custom WHERE Name = 'My Custom Name')
SELECT phone
FROM lead
WHERE status = 'Open' AND dateCreated > @myLocalDateVar
ORDER BY dateCreated DESC

答案 2 :(得分:0)

在没有SQL解决方案的情况下,我能够:

  • 使用网络表单收集大量潜在客户
  • 使用AMPScript将此号码存储在数据扩展
  • 使用SSJS活动获取列表所需的潜在客户数量

最大的警告是SSJS Row Lookups最多为2000行。对于这个项目,这已经足够了。