webForumDet fria alternativet

Medelvärde från flera tabeller

Databaser & SQL

2 svar · 316 visningar · startad av Flashes

Medlem sedan jan. 2003282 inlägg
Frågan#1

Jag har 20 tabeller StatNo1 -> StatNo20
I dom ska jag ta fram en kolumn DryWeight (Int) för dom senaste 10 min kolumn Dates (Char) och visa den totala vikten och även antalet träffar.
jag behöver ett resultat som ser ut så här.
Vikt senste 10 min XXXX
Cykler senaste 10 min XXXX

Anledningen till Char på datum är att systemet som matar data till SQL databasen inte klarar av att skriva date format till databasen, jag får resultatet som en sträng.
Kan man få SQL databasen att automatiskt lägga till tiden när man uppdaterar den så löser sig problemet med att ha CHAR på datumvariablen?
Formatet på Dates är 2005-04-19 15:10:14 men som CHAR

Går det överhuvudtaget att lösa i och med begränsingen att jag inte kan skriva date till databasen?

Alla förslag och tips mottages tacksamt.

Mvh
Jan-Olov

Medlem sedan dec. 200012 464 inlägg
#2
select sum(dryWeight),count(*)
from (
select dryWeight
from StatNo1
where (localtimestamp - cast(dates as timestamp)) 
 minute(9) < 10
union all
elect dryWeight
from StatNo2
where (localtimestamp - cast(dates as timestamp)) 
 minute(9) < 10
...)dt

Varför 20 olika tabeller?

För att få dagens datum och tid vid insert definera tabellen med localtimestamp som default.

Uttrycket

where (localtimestamp - cast(dates as timestamp)) 
 minute(9) < 10

behöver förmodligen bytas ut beroende på dbms.

Medlem sedan jan. 2003282 inlägg
#3

Tack för svaret!
Jo det är 20 olika maskiner som samlar in data om vad dom har gjort, men kunden vill ha vikten och cyklerna för dom senaste 10 min perioden visad på sidan där vi har översikten för alla maskiner.
SQL är defintivt inte min starka sida så jag kanske har fler tabeller än vad som behövs, nu har jag en per maskin.

Mvh
Jan-Olov

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)