0

特定の月の SQL データベースから読み取った最後のメーターと、フィールド meter_number の値が「1」であるすべての equipment_code を探しています。

SELECT [Company_Code]
  ,[Equipment_Code]
  ,[Meter_Number]      
  ,Max([Transaction_Date]) Last_Tran     
  ,max([meter_reading]) 
FROM [Forefront].[dbo].[EC_METER_HISTORY_MC] 

where [Meter_Number] = '1' and [Transaction_Date] < '20130101'
group by [Company_Code]
  ,[Equipment_Code]
  ,[Meter_Number]

結果が表示されますが、Crystal レポートで使用できるように、meter_reading フィールドのみが必要です。

4

2 に答える 2

1

によって決定される最後の読み取り値が必要な場合はMAX([Transaction_Date])、単一のレコードのみを取得し、レコードを で並べ替えることでこれを行うことができます[Transaction_Date]

SELECT TOP 1
  [Meter_Reading]
FROM [Forefront].[dbo].[EC_METER_HISTORY_MC] 
WHERE [Meter_Number] = '1' AND [Transaction_Date] < '20130101'
ORDER BY [Transaction_Date] DESC

単一のレコードのみを返し、単一の を定義した[Meter_Number]ため、GROUP BY.

于 2013-01-29T19:36:59.360 に答える
0
SELECT     
  max([meter_reading]) 
FROM [Forefront].[dbo].[EC_METER_HISTORY_MC] 

where [Meter_Number] = '1' and [Transaction_Date] < '20130101'
group by [Company_Code]
  ,[Equipment_Code]
  ,[Meter_Number]
于 2013-01-29T19:25:44.137 に答える