2017-02-27 14 views
2

Salesforceのマーケティングクラウドクエリは、この公式ドキュメント(http://help.marketingcloud.com/en/documentation/exacttarget/interactions/activities/query_activity/クエリ変数を格納するテーブル変数なし

の「SQLのサポート」に従って変数や一時テーブルは、私はフィールド名と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」変数の値を参照できるように、上記は、変数や一時テーブルなしで行うことができますかクエリがマーケティングクラウドで機能するようにしますか?

+0

値がゼロまたはそれ以上を返すことができますので、INTあなたは[salesforce.stackexchange.comであなたのSFMCの質問に、より多くの目を乗り越えるだろう – Paparazzi

+2

悪いタイプですで行うことができます(http://salesforce.stackexchange.com)、特に[marketing-cloud](http://salesforce.stackexchange.com/questions/tagged/marketing-cloud)および[query](http:// salesforce .stackexchange.com/questions/tagged/query)タグを使用します。 –

+0

@AdamSpriggsヒントをありがとう、私はそこに今後の質問を移動します。 –

答えて

3

これは、変数が許可されている場合でも、私はとにかく行っているだろうかです変数を使用することは、セットベースではなく、依然として思考的な手続きを示すことになります。必要であれば、クエリーの異なる部分で異なるパラメータの値を使用するために、複数回Parameters_DEテーブルに結合することができます(毎回異なるエイリアスを与えます)。

このタイプのクエリでは、1行のパラメータテーブルと必要な各値の列を持つことで、より効率的な処理を行うこともできます。次に、1 = 1の条件でテーブルにジョインし、必要な列だけを見ることができます。もちろん、このアイディアにも限界があります。

0

あなたは自分のWHERE句で番号を検索SELECTを使用することができますが:

SELECT i.* 
FROM Items_DE i 
INNER JOIN Parameters_DE p ON p.Name = 'LIMIT' 
WHERE i.Price < p.Value 

がしたい:

SELECT * FROM Items_DE 
WHERE Price < (SELECT Value FROM Parameters_DE WHERE Name='LIMIT') 
0

これは参加

SELECT i.* 
FROM Items_DE i 
INNER JOIN Parameters_DE p 
ON p.Name = 'LIMIT' 
AND p.Price > i.Value 
+0

答えを説明してください –

+0

'WHERE'と' AND'を除いて、これは私の答えとどのように一時間早いですか? –

+0

@JoelCoehoorn何もありません。あなたの問題は何ですか? – Paparazzi

関連する問題