tantenMedlem sedan nov. 20051 596 inlägg Jag får ut de hästar som varit ur träning men kommit tillbaka med denna fråga, vilket inte är meningen.
SELECT h.stcid, h.namn, h.smeknamn, h.kon, h.fodd, year( now( ) ) - year( fodd ) AS foddt
FROM hest h
INNER JOIN stallad AS s ON ( h.stallID = s.stallID )
WHERE s.ur_treningDatum IS NOT NULL
GROUP BY foddt, namn
exempel på hur tabellen ser ut.
(2, '2002-04-12', '2003-03-15'),
(2, '2003-09-03', NULL)
Kan man göra så den bara tar med den sista av samma stallID, så att denna häst inte kommer med?
anv. MySql
LarsGMedlem sedan dec. 200012 464 inlägg Visa exempel på datainnehåll i båda tabellerna. Visa förväntat resultat.
tantenMedlem sedan nov. 20051 596 inlägg Tabellen hest innehåller all "statisk" data som namn, födelse och föräldrar och liknande + ett stallID som hämtas i alla de andra tabellerna.
I det fallet som jag visade stallID 2
På "huvudsidorna" på siten presenteras de hästar som är i träning och då fungerar frågan ovan med
WHERE s.ur_treningDatum IS NULL
Men nu skulle vi göra en kort presentation på hästar som inte längre finns med i träning och då kommer de som varit ur en eller flera gånger men som finns i stallet med också.
Så denna häst med stallId 2 kommer med både på träningssidan och utrträningssidan.
Så det förväntade resultatet är att den inte ska komma med.
Kan lösningen ligga i att jag ändrar tabellen?
stallad` (
`stallID` int(11) NOT NULL default '0',
`ankomstDatum` date NOT NULL default '0000-00-00',
`ur_treningDatum` date default NULL,
PRIMARY KEY (`stallID`,`ankomstDatum`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;