webForumDet fria alternativet
Logga in / Bli medlem

Left join större än ursprungstabellen

Databaser & SQL

2 svar · 181 visningar · startad av Janspeed

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

Har blivit lite konfunderad när det gäller join.

Jag har två tabeller varav den ena innehåller postnr och ort (Orter) och den andra innehåller ort och den mailadress som hör till orten (concat).

När jag räknar Orter-tabellen så får jag ca: 15700 poster men när jag gör en left join med concat-tabellen så ger den c:a 16000 poster. Varifrån kommer de extra posterna?

Jag trodde Left join bara skulle koppla ihop concat posterna med Orterposterna. Inte skapa egna poster i resultatet?

SQL-satserna jag använt
--------------------------------

SELECT COUNT(*) AS ANTAL
FROM Orter

SELECT     COUNT(*) AS Antal
FROM         Orter LEFT OUTER JOIN
                      concat ON Orter.Postort = concat.Col001

Tacksam för hjälp.

//JANspeed

Medlem sedan dec. 200012 464 inlägg
#2

Det finns orter i concat-tabellen som har flera adresser.

Medlem sedan jan. 2001510 inlägg
#3

Aha... så om concat innehåller dubbla adresser så skapar den en för varje? Eller är det om concat innehåller både dubbla orter och mailadresser?

Ska prova att lägga in en distinct i concat i alla fall.

/JANspeed

260 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)