STAR JOIN

STAR JOIN 會執行等同的 SQL 左外部結合。 FROM 次指令指定觀察值資料檔 (事實表格)。 JOIN 次指令指定表格查閱檔案 (維度表格)。

STAR JOIN
  /SELECT {* | alias0.field [AS newname], alias1.field [AS newname],...}
  /FROM {'data file' [PASSWORD='password'] | dataset | *} AS alias0
  /JOIN {'data file' [PASSWORD='password'] | dataset | *} AS alias1
    ON alias0.key1=alias1.key1 
    [AND alias0.key2=alias1.key2] [AND...]
    [IN=field]
  [/JOIN...] [/JOIN...]
 /OUTFILE FILE={'data file' | dataset | *}
  [/PASSPROTECT]
    PASSWORD={'password'|NONE**}
    [ENCRYPTEDPW={NO**|YES}]

**Default if subcommand or keyword omitted
  • 需要 PASSPROTECT 以外的所有次指令。
  • 所有次指令必須依照語法圖中指出的順序。
  • 容許多個 JOIN 次指令,最多可達檔案控點的作業系統限制上限,或直到您記憶體不足為止。
  • 所有指令規格必須完整拼出; 不接受三個字母縮寫。
  • SELECTFROMJOIN 的語法是以標準 SQL 語法為基礎,但這不是 SQL。 您無法併入語法圖中未明確指定的任何 SQL。

此指令會讀取作用中資料集,並導致執行任何擱置指令。 如需相關資訊,請參閱主題 指令順序

發行歷程

版本 21.0

  • 已建立指令。

版本 22.0

  • FROMJOIN 次指令上引進了 PASSWORD 關鍵字。

範例

STAR JOIN
  /SELECT t1.Name1, t1.Name2, t1.Field1, t1.Field2, t1.Field3, 
   t2.Value1, t3.Value2
  /FROM '/myfiles/fact.sav' AS t1 
  /JOIN '/myfiles/field1_values.sav' AS t2 
   ON t1.Field1 = t2.Field1
  /JOIN 'myfiles/field2_values .sav' AS t3 
   ON t1.Field2 = t3.Field2
  /OUTFILE FILE='/myfiles/merged.sav'.