如何在SQL脚本中命名字段?

问题描述

我有这个脚本:

 SELECT OITM.ItemCode,OITM.ItemName,OITM.OnHand,DATEDIFF(day,MAX(RDR1.DocDate),GETDATE()) 
FROM OITM 
     JOIN RDR1
     ON OITM.ItemCode = RDR1.ItemCode
WHERE OITM .OnHand > 0 
GROUP BY OITM.ItemCode,OITM.OnHand;

当我链接到SAP B1到Excel时,我希望这个新的“ days_since_last_order”成为列的名称。但是目前它只是显示为“ column1”。 "column1 issue example"

在该脚本的什么时候可以将其定义为“自上次订购以来的天数”?

我尝试为其编写一个宏,但是它似乎在第一次刷新时有效,但在之后却没有,为什么会这样?

Sub New_SAP_Query()
'
' New_SAP_Query Macro
'

'
     ActiveWorkbook.RefreshAll
    
   With Range("F5")
   .Value = Now()
   .NumberFormat = "dd/mm/yyyy"
   End With
   
    Range("B7").Select
    Columns("B:B").ColumnWidth = 83
    Range("F7:F1048576").Select
    Range("F1").Activate
    Selection.ClearContents
    Range("F7").Select
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "Days since last order"
    Range("C7").Select
    Columns("C:C").EntireColumn.AutoFit

End Sub

这是工作表Macro issue

我的背景是会计而不是计算机科学供参考。我试图使这一点尽可能清楚,希望它是一个简单的解决方法

任何帮助将不胜感激。

解决方法

您可以用作关键字

SELECT OITM.ItemCode,OITM.ItemName,OITM.OnHand,DATEDIFF(day,MAX(RDR1.DocDate),GETDATE()) as new_column_name FROM OITM JOIN RDR1 ON OITM.ItemCode =RDR1.ItemCode WHERE OITM.OnHand > 0 GROUP BY OITM.ItemCode,OITM.OnHand;