如何在 DB2 中将 FETCH FIRST 1 ROWS ONLY 与 UNION ALL 结合使用?

问题描述

标题。 这就是我正在尝试的:

Private Sub CommandButton4_Click()

    Dim Nom As String
    
    Nom = "Inter" & Format(Date,“DD - MM - YYYY”) & ".xlsm"    
    Cells.Select
    Selection.copy
    
    Workbooks.Open ("S:\Backup\Archivage\Archivage_inter.xlsm")
    
    Workbooks("Archivage_inter").Worksheets("Feuil1").PasteSpecial Paste:=xlPasteValues

    Application.CutcopyMode = False
    
    Workbooks("Archivage_inter").SaveAs Filename:= _
        "C:\Users\sm\Documents\test\" & Nom
        
    Workbooks("Nom").Close
End sub

但它给出了以下错误

select a.work_order_no from ( select work_order_no as work_order_no from work_order_line where insert_timestamp is not null FETCH FirsT 1 ROWS ONLY union all select work_order_no as work_order_no from work_order_line where insert_timestamp is null FETCH FirsT 1 ROWS ONLY ) as a FETCH FirsT 1 ROWS ONLY

sql 中,这个概念适用于“top 1”语法。我假设这也可以在 DB2 中工作,但我只是语法顺序有问题?

解决方法

我问过一位同事,幸运的是他很快回复了:

我错过了一些()

select a.work_order_no 
from (

(select work_order_no as work_order_no 
from work_order_line 
where insert_timestamp is not null 
FETCH FIRST 1 ROWS ONLY)

union all

(select work_order_no as work_order_no 
from work_order_line 
where insert_timestamp is null 
FETCH FIRST 1 ROWS ONLY )

) as a
FETCH FIRST 1 ROWS ONLY