Hallo,
Ich möchte über die SQL-Anweisung die Spalte: age in dt1 mit den Werten von dt2 aktualisieren.
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp", output table("t1"));
dt2 = subset(dt1);
dt2:age[1] = 99;
Query(
Table( dt1, "t1" ),
Table( dt2, "t2" ),
"\[
UPDATE t1
SET
t1.age = t2.age
FROM
t1
INNER JOIN
t2
ON
t1.name = t2.name
]\"
);<BR />Ich habe einen Syntaxfehler in der Nähe von "."
Vielen Dank
Ich bin nicht sicher, ob JMP SQL im Zusammenhang mit UPDATE-Abfragen versteht, basierend auf dieser Anweisung, die mit "Abfrage fehlgeschlagen: Tabelle t1 darf beim Zugriff oder bei der Auswertung nicht geändert werden ..." fehlschlägt. Ich bin nicht sicher, ob dies möglich ist.
Query(
Table( dt1, "t1" ),
"UPDATE t1 SET age = 10"
);
Sie können dies jedoch mit Update tun:
dt1 << Update(
With( dt2 ),
Match Columns( :name = :name ),
Replace columns in main table(:age)
);
Wenn Sie eine komplexere SQL-Anweisung haben, können Sie zuerst mit SQL eine SELECT-Abfrage erstellen, um eine neue Tabelle zu erstellen, und dann mit dieser Aktualisierungsfunktion Ihre ursprüngliche Tabelle aktualisieren.