Domanda

Sto cercando di ottenere la media per ogni miuide inserito in un tavolo. Le tabelle pertinenti e le informazioni sulla colonna sono le seguenti:

Table1. [MIU ID], Tabella 1. [AVG RSSI

e

Table2.Miuid, Table2.Meannum

Se stavo semplicemente usando un'istruzione selezionata, farei quanto segue:

Select DISTINCT Table1.[MIU ID], Avg(Table1.[Avg RSSI]) as MeanNum
From Table1
GROUP BY Table1.[MIU ID]  

Tuttavia, ho bisogno che queste informazioni vengano inserite in una colonna nella Tabella 2. Ho provato le seguenti e variazioni dei seguenti e gli errori che sto ottenendo sono che non mi permette di usare il gruppo e un altro errore che dice che Meannum non fa parte della funzione aggregata.

UPDATE Table2  
INNER JOIN Table1
ON Table2.MIUID = Table1.[MIU ID]  
SET Table2.MeanNum = Avg([Table1].[Avg RSSI]);

E l'altra domanda che ho provato è:

UPDATE Table2  
SET Table2.MeanNum = Avg([Table1].[Avg RSSI]) 
WHERE Table2.MIUID = Table1.[MIU ID]
Group By [Table1].[Avg RSSI]

Riepilogo
Ribadire tutto ciò che sto cercando di fare è ottenere la media della colonna AVG RSSI nella Tabella 1 per ogni ID MIU distinto e inserire ogni valore nella riga appropriata nella Tabella 2.

Nota
Esiste una colonna nella Tabella 2 chiamata AVGNUM che potrebbe essere media per ottenere lo stesso numero che deve entrare nella colonna Meannum se utilizzato sarebbe più semplice.

So come fare quello che sto cercando di fare in due passaggi che preferirei essere in grado di farlo in una dichiarazione SQL comunque.

È stato utile?

Soluzione

Modificare: Il codice seguente non funzionerà in MS-Access/Jet. Vedi questo link:

L'operazione deve utilizzare una query aggiornabile. (Errore 3073) Accesso Microsoft

Risposta originale:

È possibile utilizzare la query selezionata originale in una sottoquery e partecipare ad essa. Non sintassi controllata e ho più familiarità con T-SQL di MS-Access, ma qualcosa di simile:

UPDATE 
    t2
SET 
    t2.MeanNum = sub.MeanNum
From 
    Table2 t2
    INNER JOIN 
        (
        Select DISTINCT 
            Table1.[MIU ID], 
            Avg(Table1.[Avg RSSI] as MeanNum
        From 
            Table1  
        GROUP BY 
            Table1.[MIU ID] 
        ) sub
        ON sub.[MIU ID] = t2.MIUID 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top