/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MIN() og MAX() ved LEFT og INNER JOIN
Fra : Morten Winther


Dato : 10-03-03 16:28

Hej

Jeg har lavet 2 queries der kun har join-typen til forskel. Hvorfor er det
ligesom at left join får mysql til at at tage højde for where-delen når min
og max udregnes? Som i kan se er der jo kun en række i hver recordset, så
min og max burde jo ikke kunne være forskellig.


SELECT count( plads_ordre.id )
as antal, MIN( forestilling.arrangement_id )
as min, MAX( forestilling.arrangement_id )
as max
FROM plads_ordre
INNER JOIN forestilling ON forestilling.id = plads_ordre.forestilling_id
WHERE plads_ordre.ordre_id = '25408'

Giver:
antal min max
1 18 18


SELECT count( plads_ordre.id )
as antal, MIN( forestilling.arrangement_id )
as min, MAX( forestilling.arrangement_id )
as max
FROM plads_ordre
LEFT JOIN forestilling ON forestilling.id = plads_ordre.forestilling_id
WHERE plads_ordre.ordre_id = '25408'

Giver:
antal min max
1 7 19

Nogen der kan give en god forklaring?


--
/ morten mw@mwi.dk

"There are only 10 types of people in the world: Those who understand
binary, and those who don't"



 
 
Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste