我需要一个查询来仅在日期参数之间提取第一个实例和最后一个实例。
我有一个记录财务信息的表格,其中的财务年度结束日期字段Company
通过链接到表格companyID
。每个公司还链接到programme
表,可以有多个程序。我有一份报告可以在某些程序上提取每家公司的财务状况,我已将其调整为仅提取第一个和最后一个实例(使用 MIN 和 MAX),但是我需要第一个实例。在某个日期参数之后和某个日期参数之前的最后一个实例。
示例:ALoggs 公司有 1999,2000,2001,2004,2006,2007,2009 的财务,但该程序从 2001 年到 2007 年运行,所以我只想要这些年份之间的第一个财务记录和最后一个财务记录,即 2001 年和 2007 年的记录。任何帮助表示赞赏。目前我正在使用 2 个查询,因为我急需数据,但我需要在 1 个查询中使用它,并且仅在财政年度结束日期在参数之间且仅在公司至少有 2 条 GVA 记录的情况下才需要它。
查询1:
SELECT
gva.ccx_companyname,
gva.ccx_depreciation,
gva.ccx_exportturnover,
gva.ccx_financialyearenddate,
gva.ccx_netprofitbeforetax,
gva.ccx_totalturnover,
gva.ccx_totalwages,
gva.ccx_statusname,
gva.ccx_status,
gva.ccx_company,
gva.ccx_totalwages + gva.ccx_netprofitbeforetax + gva.ccx_depreciation AS GVA,
gva.ccx_nofulltimeequivalentemployees
FROM
(
SELECT
ccx_companyname,
MAX(ccx_financialyearenddate) AS LatestDate
FROM Filteredccx_gva AS Filteredccx_gva_1
GROUP BY ccx_companyname
) AS min_1
INNER JOIN Filteredccx_gva AS gva
ON min_1.ccx_companyname = gva.ccx_companyname AND
min_1.LatestDate = gva.ccx_financialyearenddate
WHERE (gva.ccx_status = ACTUAL)
查询2:
SELECT
gva.ccx_companyname,
gva.ccx_depreciation,
gva.ccx_exportturnover,
gva.ccx_financialyearenddate,
gva.ccx_netprofitbeforetax,
gva.ccx_totalturnover,
gva.ccx_totalwages,
gva.ccx_statusname,
gva.ccx_status,
gva.ccx_company,
gva.ccx_totalwages + gva.ccx_netprofitbeforetax + gva.ccx_depreciation AS GVA,
gva.ccx_nofulltimeequivalentemployees
FROM
(
SELECT
ccx_companyname,
MIN(ccx_financialyearenddate) AS FirstDate
FROM Filteredccx_gva AS Filteredccx_gva_1
GROUP BY ccx_companyname
) AS MAX_1
INNER JOIN Filteredccx_gva AS gva
ON MAX_1.ccx_companyname = gva.ccx_companyname AND
MAX_1.FirstDate = gva.ccx_financialyearenddate
WHERE (gva.ccx_status = ACTUAL)