webForumDet fria alternativet
Logga in / Bli medlem

Joins?

Databaser & SQL

1 svar · 226 visningar · startad av oJones

Medlem sedan dec. 200154 inlägg
Trådstart#1

Hej!

Har ett litet problem som gör mig superförvirrad.

Mina tabeller ser ut som följer (ungefär ja ;p):

tabell1
---------
kundId
summa1

tabell2
--------
kundId
summa2

Nu vill jag räkna samman summorna där kundId = 1, men av någon anledning så räknar den dubbelt av tabell2 varenda gång jag försöker, så jag tänkte be om lite hjälp.

Medlem sedan dec. 200012 464 inlägg
#2

Det går inte att lösa med join generellt. (Det fungerar bara om kunden förekommer 1 gång i vardera tabellen.)

Man får nog göra det i flera steg.

create temporary table t(id int, summa int)

insert into t select kundid,summa1 from tabell1 where kundid = 1 union all select kundid,summa2 from tabell2 where kundid = 1

select sum(summa) from t

Varför har du två tabeller?

258 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)