Dies ist der Code, der derzeit funktioniert, aber ich würde ihn gerne automatisieren und wahrscheinlich den Abschnitt unten in FETT-Kursivschrift hart codieren – das ist die Liste der CMOS_Lot-Wafer aus der Datentabelle „Wafer List“. Ich habe auch den Code angehängt, den ich habe Ich habe versucht, diesen Abschnitt hart zu codieren, aber es funktioniert nicht. Könnte mir bitte jemand einen Blick darauf werfen und mir helfen, Danke
(Wafer-Liste ist die Benutzerliste, die der Benutzer bereitstellt)
dt1 = Data Table( "Wafer List" ) << Stack(
columns( :Name( "Group A - Wafer Number" ), :Name( "Group B - Wafer Number" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "CMOS-Lot-Wafer" ),
Output Table( "Stacked-waferList" )
);
dt3 = Open Database(
"DSN=MS_SQL;Description=WAFERVIEWER;Trusted_Connection=Yes;APP=JMP;WSID=USSJC-J9K98H2;DATABASE=PRODUCT;",
"SELECT T.[CHECK AXSELFTEST], T.[CMOS_Lot-WaferID] FROM Summary S
INNER JOIN WS_Tests T ON T.[CMOS_Lot-WaferID] = S.[CMOS_Lot-WaferID] AND T.RetestID = S.RetestID
<EM><STRONG>WHERE S.[CMOS_Lot-Wafer] IN ('DBM301-02',</STRONG>
<STRONG>'DBM308-12',
'DBM306-24',
'DBM297-03',
'DBM308-20',
'DBM297-02',
'DBM316-03',
'DBM306-09',
'DBM024-09'</STRONG>
<STRONG>)",
"Summary"</STRONG></EM>
);
dt2 = Data Table( "Stacked waferList" ) << Join(
With( Data Table( "Summary" ) ),
Select( :Label, :Name( "CMOS-Lot-Wafer" ), :Name( "CMOS_Lot-WaferID" ) ),
SelectWith( :DieID, :CHECK AXSELFTEST ),
By Matching Columns( :Name( "CMOS_Lot-WaferID" ) = :Name( "CMOS_Lot-WaferID" ) ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "WS- Summary for WaferList" )
);
//Code funktioniert NICHT – Ich habe versucht, den CMOS_Lot-Wafer-Teil fest zu codieren, aber es funktioniert nicht
(Wafer-Liste ist die Benutzerliste, die der Benutzer bereitstellt)
dt1 = Data Table( "Wafer List" ) << Stack(
columns( :Name( "Group A - Wafer Number" ), :Name( "Group B - Wafer Number" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "CMOS-Lot-Wafer" ),
Output Table( "Stacked-waferList" )
);
SQLConnection = Create Database Connection(
"DSN=MS_SQL;Description=WAFERVIEWER;Trusted_Connection=Yes;APP=JMP;WSID=USSJC-J9K98H2;DATABASE=ISTANBUL;"
);
PrePUSQL01 =
"SELECT
T.CHECK AXSELFTEST,
C.CMOS_Lot-Wafer
FROM database.dbo.WS_tests AS T
JOIN Stacked waferList AS C ON C.CMOS_Lot-Wafer = T.CMOS_Lot-Wafer";
dt = Execute SQL( SQLConnection, PrePUSQL01, "dt" );
Der SQL-Abfrage-Generator in JMP erledigt dies automatisch für Sie. Sie müssen die JSL nicht selbst schreiben.
Als Teil der Abfrage können Sie Baue einen Filter . Dieser Filter kann Importieren Sie Daten, indem Sie Werte aus einer vorhandenen Datentabelle abgleichen , genau das, was Sie hier versuchen.
Nachdem Sie die Abfrage erstellt haben, können Sie Speichern Sie das Ausführungsskript um die JSL dazu zu bringen, die Abfrage als Teil eines größeren Skripts auszuführen.
Das sieht nicht nach gültigem SQL-Code aus:
"SELECT
T.CHECK AXSELFTEST,
C.CMOS_Lot-Wafer
FROM database.dbo.WS_tests AS T
JOIN Stacked waferList AS C ON C.CMOS_Lot-Wafer = T.CMOS_Lot-Wafer";
Offenbar versuchen Sie, SQL mit JSL zu kombinieren, was nicht möglich ist.Läuft die SQL-Anweisung in einem Datenbankschnittstellenpaket wie TOAD, PL/SQL Developer, SQL Navigator usw.?