我正在尝试这样做:
我有Medicion桌子:
idA measure date Var_idVar idLecture
1 -74.76284851 19/11/2019 1 1
2 6.165739368 19/11/2019 2 1
3 -74.76284851 19/11/2019 1 2
4 6.165739368 19/11/2019 2 2
5 -74.76284851 20/11/2019 1 3
6 6.165739368 20/11/2019 2 3
. . . . .
. . . . .
. . . . .
108 36 21/11/2019 3 6
109 5 22/11/2019 3 6
110 4 23/11/2019 3 5
111 21 24/11/2019 3 5
112 24 25/11/2019 3 5
113 15 26/11/2019 3 6
和Var表:
idVar nombre unit
1 xMagna m
2 yMagna m
3 Temperature °C
我需要创建一个具有以下结果的视图:
Fecha xMagna yMagna Lectura
19/11/2019 -74.76284851 6.165739368 1
19/11/2019 -74.76284851 6.165739368 2
20/11/2019 -74.76284851 6.165739368 4
如您所见,我需要做两个由xMagna和yMagna命名的新列,并按idLecture将其分组。在这一步中,温度对我而言不是必需的,因此我无需创建此列。
我正在尝试执行嵌套选择查询,如下所示:
CREATE
ALGORITHM = UNDEFINED
DEFINER = `root`@`%`
SQL SECURITY DEFINER
VIEW `VPuntosTopo` AS
SELECT
`A`.`Fecha` AS `fecha`,
(SELECT
`innerTable`.`valor`
FROM
(`Medicion` `innerTable`
JOIN `Var` `V` ON ((`V`.`idVar` = `innerTable`.`Var_idVar`)))
WHERE
((`innerTable`.`Lectura` = `outerTable`.`Lectura`)
AND (`V`.`nombre` = 'x_magna'))) AS `xMagna`,
(SELECT
`innerTable`.`valor`
FROM
(`Medicion` `innerTable`
JOIN `Var` `V` ON ((`V`.`idVar` = `innerTable`.`Var_idVar`)))
WHERE
((`innerTable`.`Lectura` = `outerTable`.`Lectura`)
AND (`V`.`nombre` = 'y_magna'))) AS `yMagna`
FROM
(`Medicion` `outerTable`
JOIN `Var` ON ((`outerTable`.`Var_idVar` = `Var`.`idVar`)))
但是我远远没有达到我想要的结果。
有人可以帮助我吗?
预先感谢