Går det att summera antalet rader i flera tabeller med en SQL-sats? När jag kör en COUNT() på flera tabeller så multipliceras resultatet i varje tabell med nästa osv. Jag vill ha summa: 18 + 20 + 30 exempelvis
select sum(cnt) from (
select count(*) as cnt from tabell1
untion all
select count(*) as cnt from tabell2
untion all
select count(*) as cnt from tabell3
)
Eller kanske använda full outer join:
select count(t1.id)+count(t2.id)+count(t3.id) as cnt
from tabell1 t1
full outer join tabell2 t2 on t2.id=t1.is
full outer join tabell3 t3 on t3.id=t1.id
DECLARE @antal int
SELECT @antal=COUNT(ID) FROM tabell1
SELECT @antal=@antal+COUNT(ID) FROM tabell2
SELECT @antal=@antal+COUNT(ID) FROM tabell3
SELECT @antal AS 'summa alla tabellerna'
144 ms totalt · 2 externa anrop · v20260731065814-full.2ae45ccc