Wie frage ich eine externe Datenbank und eine gespeicherte JMP-Tabelle mit SQL ab?Hallo,
Innerhalb eines JMP-Skripts muss ich wirklich sowohl eine gespeicherte JMP-Tabelle als auch eine separate Datenbanktabelle abfragen, kann aber nicht herausfinden, wie das geht, oder online eine Lösung finden.Unten finden Sie einen vereinfachten Beispielcode. Das Problem besteht darin, dass ich, sobald ich eine Verbindung zur Datenbank hergestellt habe, keine lokalen Tabellen mehr abfragen kann. Ich weiß, dass ich in JMP nach der SQL-Abfrage eine Tabellenverknüpfung für die externe Datenbank durchführen könnte, aber das Ziel besteht darin, nur die in der Tabelle „customers.jmp“ angegebenen Kunden in die Abfrage abzurufen, um die abzufragenden Datenmengen zu reduzieren. Ich habe Dinge wie JOIN 'cust', JOIN 'Customers' usw. ausprobiert.
Für jede Hilfe wäre ich sehr dankbar.
// open JMP table
cust = Open( "***\JMP Tables\Customers.jmp");
//connect to DB
SQLConnection = Create database connection("DRIVER=*** SERVER=***; DATABASE=database; Uid=***;Pwd=***");
//Query both
PrePUSQL01 =
"
SELECT
T.CustomerID,
C.Inc
FROM database.dbo.table AS T
JOIN cust AS C ON C.CustomerID = T.CustomerID
WHERE C.Inc = '1'
"
;
dt = Execute SQL(SQLConnection,
PrePUSQL01,
"dt"
);Betreff: Wie frage ich eine externe Datenbank und eine gespeicherte JMP-Tabelle mit SQL ab?Wenn ich Sie richtig verstehe, haben Sie eine JMP-Datentabelle mit einer Liste von Kunden und möchten Zeilen aus einer Datenbank abrufen, die mit diesen Kunden übereinstimmen.
Sie können dies mit dem tun Spaltenwerte anpassen Filter im Abfrage-Generator.

Dort ist ein Beispiel in der Dokumentation Informationen zur Verwendung des Filters „Match Columns“ finden Sie hier.
Betreff: Wie frage ich eine externe Datenbank und eine gespeicherte JMP-Tabelle mit SQL ab?Chris hat recht – Sie müssen eine IN-Liste erstellen und diese in Ihr SQL aufnehmen.Dieses Gespräch kann hilfreich sein.
Betreff: Wie frage ich eine externe Datenbank und eine gespeicherte JMP-Tabelle mit SQL ab?HALLO,
Ich denke, Sie müssen möglicherweise die CustomerID-Werte mit GetValues (wie in Zeile eins unten) aus der JMP-Tabelle einlesen und diese Liste dann in den SQL-Code einfügen (mit IN-Operatori für die WHERE-Klausel).
custIDList = :CustID << GetValues;
Dies ist kein vollständiger Code, aber ein kleiner Anstoß in die richtige Richtung.
Sie müssten ein wenig JSL verwenden, um die Liste in den SQL-Code einzufügen, aber zumindest würden Sie dadurch nur die Informationen von den Kunden erhalten, die eine ID in der Datei „Customer.JMP“ haben. Anschließend können Sie Join in JMP verwenden, um die beiden Sätze zusammenzuführen.
Hoffentlich hilft das,
Chris