我正在尝试将两个查询与Union Select合并,但是我找不到我做错的事...以前我没有使用过这种方法,但是一定有一些我不知道的地方意识到这一点给我带来了麻烦。
我要合并的两个查询如下:
SELECT Parejas.[ID Pareja], Parejas.NombrePareja AS [Nombre Pareja / Paciente], Parejas.FechaAlta AS [Fecha de alta], Count(Sesiones.[ID sesión]) AS [CuentaDeID sesión], Profesional.Nombre
FROM Paciente INNER JOIN (Profesional INNER JOIN (Parejas INNER JOIN Sesiones ON Parejas.[ID Pareja] = Sesiones.[ID Pareja]) ON Profesional.[ID Profesional] = Sesiones.[ID Profesional]) ON Paciente.[ID Paciente] = Parejas.Pacientes.Value
WHERE (((Parejas.FechaAlta)>[Formularios]![Consulta_duracion]![Texto15]))
GROUP BY Parejas.[ID Pareja], Parejas.NombrePareja, Parejas.FechaAlta, Profesional.Nombre;
第二个是这个:
SELECT Parejas.[ID Pareja], Paciente.Nombre AS [Nombre Pareja / Paciente], Paciente.FechaAlta AS [Fecha de alta], Count(Sesiones.[ID sesión]) AS [CuentaDeID sesión], Profesional.Nombre
FROM (Profesional INNER JOIN (Paciente INNER JOIN Sesiones ON Paciente.[ID Paciente] = Sesiones.[ID Paciente]) ON Profesional.[ID Profesional] = Sesiones.[ID Profesional]) INNER JOIN Parejas ON Paciente.[ID Paciente] = Parejas.Pacientes.Value
WHERE (((Paciente.FechaAlta)>[Formularios]![Consulta_duracion]![Texto15]))
GROUP BY Parejas.[ID Pareja], Paciente.Nombre, Paciente.FechaAlta, Profesional.Nombre;
我使用Union子句合并两个查询,但始终收到以下错误消息:
“您的查询未将指定的表达式'ID Pareja”作为聚合函数的一部分”
也许你们当中的任何人对问题到底有什么线索?
非常感谢您!
edit:我将所有表和关系附加到图像上。如您所见,“ Paciente”和“ Sesiones”是设计其他所有表的主要表。 enter image description here
答案 0 :(得分:0)
我认为以下内容应产生有效的UNION
查询-
SELECT u.*
FROM
(
SELECT
Parejas.[ID Pareja],
Parejas.NombrePareja AS [Nombre Pareja / Paciente],
Parejas.FechaAlta AS [Fecha de alta],
Count(Sesiones.[ID sesión]) AS [CuentaDeID sesión],
Profesional.Nombre
FROM
Paciente INNER JOIN
(
Profesional INNER JOIN
(
Parejas INNER JOIN Sesiones ON
Parejas.[ID Pareja] = Sesiones.[ID Pareja]
)
ON Profesional.[ID Profesional] = Sesiones.[ID Profesional]
)
ON Paciente.[ID Paciente] = Parejas.Pacientes.Value
WHERE
Parejas.FechaAlta > [Formularios]![Consulta_duracion]![Texto15]
GROUP BY
Parejas.[ID Pareja],
Parejas.NombrePareja,
Parejas.FechaAlta,
Profesional.Nombre
) u
UNION ALL
SELECT v.*
FROM
(
SELECT
Parejas.[ID Pareja],
Paciente.Nombre AS [Nombre Pareja / Paciente],
Paciente.FechaAlta AS [Fecha de alta],
Count(Sesiones.[ID sesión]) AS [CuentaDeID sesión],
Profesional.Nombre
FROM
(
Profesional INNER JOIN
(
Paciente INNER JOIN Sesiones ON
Paciente.[ID Paciente] = Sesiones.[ID Paciente]
)
ON Profesional.[ID Profesional] = Sesiones.[ID Profesional]
)
INNER JOIN Parejas ON
Paciente.[ID Paciente] = Parejas.Pacientes.Value
WHERE
Paciente.FechaAlta > [Formularios]![Consulta_duracion]![Texto15]
GROUP BY
Parejas.[ID Pareja],
Paciente.Nombre,
Paciente.FechaAlta,
Profesional.Nombre
) v
(未经测试)