Unione di tabelle all'interno della funzione di queryCIAO,
Conosco abbastanza lo scripting JSL, anche se ho alcune query SQL personalizzate che ho scritto nel generatore di query. Sto cercando di inserire queste query nello script JSL senza doverle riscrivere utilizzando la funzione JOIN
È possibile per me unire le tabelle nella funzione Query ()?
Ad esempio dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dr = Open( "$RANDOM_DATA/Small Class.jmp" );
Di seguito è riportato ciò che sto provando/indovinando che dovrebbe apparire il codice
RISULTATO = INTERROGAZIONE (dt, dr, "SELECT *
DA 'Grande classe' aC
UNISCITI a SC 'Small Class' su SC.name = BC.name;");
Gli unici esempi che ho trovato riguardavano la funzione Query utilizzata con 1 tabella.
Grazie,
Davide
Ri: Unire le tabelle all'interno della funzione di queryGrazie!
Ri: Unire le tabelle all'interno della funzione di queryGrazie!Ri: Unire le tabelle all'interno della funzione di queryE come con le altre piattaforme di generazione di tabelle in JMP, se esegui in modo interattivo la piattaforma interattiva e poi guardi nella voce "Sorgente" nel pannello tabella della nuova tabella di dati, vedrai lo script JSL necessario per generare il tabella dati.Ecco lo script dalla voce Source, per l'esempio Join that @cwillden fornito
New SQL Query(
Connection( "JMP:RESTRICT=Y;UUID=4E866C55-4F0A-45D4-EBE9AE92DC4D8FB7" ),
JMP Tables(
["t1" => "C:\Program Files\SAS\JMPPRO\13\Samples\Data\SATByYear.jmp",
"t2" => "C:\Program Files\SAS\JMPPRO\13\Samples\Data\US Demographics.jmp"]
),
QueryName( "SQLQuery1" ),
CustomSQL(
"SELECT t1.State, t1.\!"SAT Math\!", t2.\!"College Degrees\!",
t2.\!"Eighth Grade Math\!"
FROM t1
LEFT OUTER JOIN t2
ON t1.State = t2.State
WHERE t1.'SAT Math' > 550;
"
)
) << RunRi: Unire le tabelle all'interno della funzione di queryLa funzione Query() nell'indice Scripting ha in realtà un bell'esempio di ciò che vuoi:
// Using aliases, performing a join
dtSAT = Open(
"$SAMPLE_DATA/SATByYear.jmp",
Invisible
);
dtUS = Open(
"$SAMPLE_DATA/US Demographics.jmp",
Invisible
);
Query(
Table( dtSAT, "t1" ),
Table( dtUS, "t2" ),
"\[SELECT t1.State, t1."SAT Math", t2."College Degrees",
t2."Eighth Grade Math"
FROM t1
LEFT OUTER JOIN t2
ON t1.State = t2.State
WHERE t1.'SAT Math' > 550;
]\"
);