查询变量 Table 而不存储变量
Query Variable Table without storing variables
根据本官方文档的 "SQL Support" 部分,Salesforce Marketing Cloud 查询不允许使用变量或临时表 (http://help.marketingcloud.com/en/documentation/exacttarget/interactions/activities/query_activity/)
我有一个名为 Parameters_DE 的数据扩展,其中包含存储常量值的字段名称和值。我需要在查询中参考这个 DE。
使用transact-SQL,一个例子是:
Declare @number INT
SET @number = (SELECT Value FROM Parameters_DE WHERE Name='LIMIT')
SELECT * FROM Items_DE
WHERE Price < @number
如何在没有变量或临时表的情况下完成上述操作,以便我可以引用存储在 Parameters_DE 中的 'LIMIT' 变量的值,以便查询将在 Marketing 中运行云?
您可以只使用 SELECT
检索 WHERE
子句中的号码:
SELECT * FROM Items_DE
WHERE Price < (SELECT Value FROM Parameters_DE WHERE Name='LIMIT')
这是我无论如何都会做的,即使允许变量:
SELECT i.*
FROM Items_DE i
INNER JOIN Parameters_DE p ON p.Name = 'LIMIT'
WHERE i.Price < p.Value
想要使用变量表明仍在思考程序,而不是基于集合。请注意,如果需要,可以多次加入Parameters_DE table(每次给一个不同的别名)以在查询的不同部分使用不同参数的值。
您还可以让参数 table 包含一行,并为您需要的每个值设置一列,从而提高此类查询的效率。然后,您可以使用 1=1 条件加入 table 一次,然后只查看您需要的列。当然,这个想法也有局限性。
这可以通过连接来完成
SELECT i.*
FROM Items_DE i
INNER JOIN Parameters_DE p
ON p.Name = 'LIMIT'
AND p.Price > i.Value
根据本官方文档的 "SQL Support" 部分,Salesforce Marketing Cloud 查询不允许使用变量或临时表 (http://help.marketingcloud.com/en/documentation/exacttarget/interactions/activities/query_activity/)
我有一个名为 Parameters_DE 的数据扩展,其中包含存储常量值的字段名称和值。我需要在查询中参考这个 DE。
使用transact-SQL,一个例子是:
Declare @number INT
SET @number = (SELECT Value FROM Parameters_DE WHERE Name='LIMIT')
SELECT * FROM Items_DE
WHERE Price < @number
如何在没有变量或临时表的情况下完成上述操作,以便我可以引用存储在 Parameters_DE 中的 'LIMIT' 变量的值,以便查询将在 Marketing 中运行云?
您可以只使用 SELECT
检索 WHERE
子句中的号码:
SELECT * FROM Items_DE
WHERE Price < (SELECT Value FROM Parameters_DE WHERE Name='LIMIT')
这是我无论如何都会做的,即使允许变量:
SELECT i.*
FROM Items_DE i
INNER JOIN Parameters_DE p ON p.Name = 'LIMIT'
WHERE i.Price < p.Value
想要使用变量表明仍在思考程序,而不是基于集合。请注意,如果需要,可以多次加入Parameters_DE table(每次给一个不同的别名)以在查询的不同部分使用不同参数的值。
您还可以让参数 table 包含一行,并为您需要的每个值设置一列,从而提高此类查询的效率。然后,您可以使用 1=1 条件加入 table 一次,然后只查看您需要的列。当然,这个想法也有局限性。
这可以通过连接来完成
SELECT i.*
FROM Items_DE i
INNER JOIN Parameters_DE p
ON p.Name = 'LIMIT'
AND p.Price > i.Value