Estou tentando recuperar de duas tabelas relacionadas um-para-muitos (Subattivita.ID-Eventi-IDSubattivita), alguns campos da primeira tabela e outros dois campos da segunda tabela (último Eventi.Evento e primeiro Eventi.DataInserimento).
Não sei por que recebo um erro com a seguinte consulta SQL. Alguém pode ajudar, por favor?
Primeira Mesa: Subattivita
EU IA | Conteúdo |
---|---|
1 | Prova |
2 | Prova2 |
3 | Prova3 |
4 | prova4 |
5 | Prova5 |
6 | Prova6 |
7 | prova7 |
9 | Realizar o design |
10 | Prova8 |
Segunda Mesa: Eventi
EU IA | IDSubattivita | Evento | Comentário | DataInserimento |
---|---|---|---|---|
1 | 1 | Aperta | Inserção automática | 01/08/2024 |
2 | 2 | Aperta | Inserção automática | 01/08/2024 |
3 | 3 | Aperta | Inserção automática | 01/08/2024 |
4 | 4 | Aperta | Inserção automática | 01/08/2024 |
5 | 5 | Aperta | Inserção automática | 02/08/2024 |
8 | 6 | Aperta | Inserção automática | 02/08/2024 |
9 | 7 | Aperta | Inserção automática | 02/08/2024 |
12 | 9 | Aperta | Inserção automática | 02/08/2024 |
13 | 10 | Aperta | Inserção automática | 02/08/2024 |
14 | 1 | Observações | Letra1 | 05/08/2024 |
15 | 2 | Observações | Testo2 | 05/08/2024 |
16 | 3 | Observações | Testo3 | 08/06/2024 |
17 | 4 | Observações | Testo4 | 08/06/2024 |
18 | 5 | Observações | Testo5 | 08/07/2024 |
19 | 6 | Observações | Letra8 | 08/08/2024 |
20 | 7 | Observações | Letra9 | 08/09/2024 |
21 | 9 | Observações | Letra12 | 08/09/2024 |
22 | 9 | Observações | Procedimento com design. | 08/09/2024 |
23 | 9 | Caricata | Design caricato. | 08/09/2024 |
24 | 9 | Chiusa | Design aprovado | 08/09/2024 |
Resultados obrigatórios da consulta:
EU IA | Último Evento | FirstDataInserimento |
---|---|---|
1 | Observações | 01/08/2024 |
2 | Observações | 01/08/2024 |
3 | Observações | 01/08/2024 |
4 | Observações | 01/08/2024 |
5 | Observações | 02/08/2024 |
6 | Observações | 02/08/2024 |
7 | Observações | 02/08/2024 |
9 | Chiusa | 02/08/2024 |
10 | Aperta | 02/08/2024 |
Tentei com a seguinte consulta SQL, mas o Access pede para inserir o valor u.Evento:
SELECT
t.ID,
u.Evento as LastEvento,
p.DataInserimento as FirstDataInserimento
FROM
((Subattivita t
INNER JOIN
(SELECT IDSubattivita, MAX(ID) as MaxID FROM Eventi GROUP BY IDSubattivita) u ON t.ID = u.IDSubattivita)
INNER JOIN
(SELECT IDSubattivita, MIN(ID) as MinID FROM Eventi GROUP BY IDSubattivita) p ON t.ID = p.IDSubattivita);
Isso não é uma mensagem de erro. É um prompt da consulta para entrada de valor porque a consulta faz referência a campos que não estão no conjunto de dados - conforme observado por @TimRoberts. Parece que você quer o Min(DataInserimento) para cada IDSubattivita. Extrair Evento associado ao ID máximo para cada IDSubattivita é mais complicado. Considerar:
Ou esta versão: