webForumDet fria alternativet

Räkna ihop alla poster från flera tabeller?

Databaser & SQL

4 svar · 265 visningar · startad av m_soderlund

Medlem sedan sep. 20026 425 inlägg
Frågan#1

Hur ser koden ut för att räkna ihop alla poster från, säg, 7 tabeller, vilkas namn är enligt följande: tbl1, tbl2, tbl3 etc?

Man skulle ju kunna exekvera 7 SQL-satser och räkna posterna i respektive tabell med Count och sedan lägga ihop allt, men det finns väl ett mer effektivt sätt?

Medlem sedan dec. 200012 464 inlägg
#2

Jo, genom att inte designa databasen på detta sätt.

select sum(c) from 
(select count(*) c from t1
 union all select count(*) from t2
...
 union all select count(*) from t7) dt
Medlem sedan sep. 20026 425 inlägg
#3

Hur ska man designa databasen då? Och vad gör dt i slutet?

Medlem sedan dec. 200012 464 inlägg
#4

Man måste ange ett namn där. Det finns egentligen ingen anledning att man måste göra det jämnt men så är det definierat av ISO/ANSI.

Det jag ifrågasätter är varför du har sju tabeller och inte en då det tycks vara som om posterna ändå hör ihop.

Medlem sedan sep. 20026 425 inlägg
#5

Jag var bara nyfiken, jag har inte sju tabeller i en databas, inte ens en databas. Det är en högst fiktiv tabell jag frågar efter kod till i denna tråd. Tack!

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