webForumDet fria alternativet

begränsa svaret till i år

Databaser & SQL

1 svar · 283 visningar · startad av tanten

Medlem sedan nov. 20051 596 inlägg
Frågan#1

Om jag hämtar datan så här:

SELECT H. * , year( now( ) ) - year( born ) AS age, O.owner_name, count( S.loppID ) AS antal, sum( summa ) AS pris
FROM horses H
JOIN owner O ON O.ownerID = H.ownerID
LEFT JOIN starter S ON S.horseID = H.horseID
WHERE aktiv = 'ja'
GROUP BY horse_name
ORDER BY age

Då får jag ut alla rader i de tre tabellerna rätt, både ostartade hästar och de som kommit ut till start. Men om jag lägger till vilkoret att bara ta med raderna i tabellen starter som gäller för i år så tas bara de rader med i horses som finns med i starter. Hur ska jag ändå få med alla hästarna som inte finns med i starter?
Jag vill få med AND datum >'2008-12-31', men hur? /MySQL

Medlem sedan dec. 200012 464 inlägg
#2
SELECT H. *, 
     year(current_date) - year(born) AS age, 
     O.owner_name, 
     count( S.loppID ) AS antal, 
     sum( summa ) AS pris
  FROM horses H
  JOIN owner O ON O.ownerID = H.ownerID
  LEFT JOIN starter S ON S.horseID = H.horseID
   AND datum >'2008-12-31'
 WHERE aktiv = 'ja'
 GROUP BY horse_name
 ORDER BY age
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)