Verwenden der dynamischen SQL verbinden:
Sie können eine Kombination von Tabelleneingabe verwenden -> Gruppierung -> Modifizierte Java Script Value -> Dynamische SQL verbinden.
Die Tabelleneingabe wählt die Liste der IDs nach Bedarf aus.
In Gruppe von können Sie die Liste von IDs in eine durch Kommata getrennte String (
Name: "list" (the name of output field with list of IDs)
Subject: name of the field with IDs from your Table Input,
Type: "Concatenate strings separated by ,"
)
In Modified Java Script Wert aggregieren Sie ein XML-Literal definieren können, mit Ihren SQL-Abfrage (Sie können stattdessen einen String verwenden und {list} durch den Wert ersetzen, wenn es Ihnen nichts ausmacht, Ihre Abfrage in einer Zeile zu halten).
var sqlQuery = <>
SELECT
*
FROM table_name
WHERE
order_id IN ({list})
</>
Wenn Sie es wie folgt verwenden, dann {list}
wird automatisch mit dem Wert von list
Variable (oder Spaltenwert) ersetzt werden. Aber Sie müssen < und> Zeichen innerhalb Ihrer Abfrage entkommen. Alternativ können Sie Ihre Abfrage in CDATA setzen:
var sqlQuery = <>
<![CDATA[
SELECT
*
FROM table_name
WHERE
order_id IN ({list})
]]>
</>
Sie werden nicht <> Escape-Zeichen müssen, aber Sie werden list
sich danach ersetzen müssen: sqlQuery = sqlQuery.toString().replace("{list}", list, "g")
Und schließlich haben Sie angeben, Ihre sqlQuery-Variable in der Tabelle "Felder" des JS-Schritts, sodass sie jeder Zeile als neues Feld hinzugefügt wird.
Dann in Dynamic SQL Join müssen Sie sqlQuery Feld in SQL field name
angeben. In Template SQL
müssen Sie jede Abfrage stellen, die dieselben Datentypen wie Ihre generierte Abfrage hat, z. etwas wie dieses:
SELECT * FROM table_name WHERE 1=0