【发布时间】:2017-02-03 17:37:16
【问题描述】:
我已尝试关联表格以获取新信息,但似乎 MS 访问中没有 OUTER APPLY。这是我的代码:
SELECT *
FROM [pred-predi_calculo-presi]
OUTER APPLY
( SELECT TOP 1 [snptc_histo].POSICIONBUS
FROM [snptc_histo]
WHERE [snptc_histo].PATENTEBUS = [pred-predi_calculo-presi].PATENTE
AND [snptc_histo].horaConsulta < [pred-predi_calculo-presi].'pasadaReal'
ORDER BY [snptc_histo].horaConsulta DESC
) AS p
OUTER APPLY
( SELECT TOP 1 [snptc_histo].POSICIONBUS
FROM [snptc_histo]
WHERE [snptc_histo].PATENTEBUS = [pred-predi_calculo-presi].PATENTE
AND [snptc_histo].horaConsulta >= [pred-predi_calculo-presi].'pasadaReal'
ORDER BY [snptc_histo].horaConsulta ASC
) AS n ;
任何帮助都会受到欢迎
编辑:我认为使用 java 代码执行此操作会更容易(我已经考虑了算法)并且也更优化,但我没有正确的工具,如数据结构或正确的“命令”来处理数据库抛出 java (我是数学家)所以要在 java 中做到这一点,我需要更多的帮助。虽然我对这个解决方案持开放态度。 这是一个示例数据:
pred-predi_calculo-presi:
Id1 ID Paradero'horaPrediccion''pasadaReal'PREDICCION_NUEVA PATENTE servicio
1 2016-12-13 11:36:50_T518 PA52 11:36:51 11:36:20 1579,242 CJRW-73 518
2 2016-12-13 11:36:50_T518 PA52 11:36:51 11:36:20 761,211 BJFB-79 518
3 2016-12-13 12:11:02_T518 PC475 12:17:53 12:16:34 1382,545 BFKC-47 518
4 2016-12-13 12:11:02_T518 PC475 12:17:53 12:16:34 695,283 CJRW-74 518
5 2016-12-13 12:11:03_T418 PC206 12:16:27 12:15:50 1210,033 ZN-6742 418
6 2016-12-13 12:11:03_T418 PC206 12:16:27 12:15:50 1407,741 ZN-5814 418
7 2016-12-13 13:16:41_T516 PD208 13:17:56 13:18:02 842,634 BJFY-17 516
snptc_histo:
PATENTEBUS POSICIONBUS horaConsulta
WA-9114 0 17:15:52
CJRW-83 3,64 17:15:52
ZN-3967 0,26 17:15:50
BJFV-89 11,06 17:15:51
BJFS-92 32,866 17:15:51
FLXJ-30 19,74 17:15:51
BJFR-52 9,55 17:15:50
CJRW-52 24,67 17:15:50
BJFR-94 14,75 17:15:49
CJRT-63 16,02 17:15:49
【问题讨论】:
标签: sql database ms-access-2016