Jag har ett litet problem som jag tänkte kanske går att lösa med SQL kodning..
SELECT case when A.hemma > A.borta then 'vinst' else 'forlust' end as banan FROM resultat AS A
LEFT JOIN match AS M ON M.match_id = A.match_id
WHERE M.team = 1 AND M.datum > '2007-01-01 00:00:00' AND M.datum < '2007-12-31 23:59:59'
AND A.hemma IS NOT NULL AND A.BORTA IS NOT NULL
Finns det någon möjlighet att räkna antalet förluster i rad samt vinster i rad under det specifierade tidsintervallet.. eller skall man gå på resultatet med PHP programmering..
Tänkte att det kanske finns en snygg lösning med SQL kod..
Vad heter columen som är vinst och vilken colum som är förluster.
Eller vill du spara dem eller har du dem sparad men vill ha uträknad också hur många det är bara så kan du andvända dig av.
Du nämner ej vilket DBMS samt vilken version av DBMS, men i MySQL 5.0.27 kan det se ut så här:
select
dt.banan,
max(dt.rg)
from
(SELECT
case when A.hemma > A.borta
then 'vinst'
else 'forlust'
end as banan,
( select count(*)
from resultat r
inner
join `match` t
on r.match_id = t.match_id
where t.datum <= m.datum
and case when r.hemma > r.borta
then 'vinst'
else 'forlust'
end <> banan) as rg
FROM
resultat AS A INNER JOIN `match` AS M
ON M.match_id = A.match_id
WHERE
M.team = 1 AND
M.datum > '2007-01-01 00:00:00' AND
M.datum < '2007-12-31 23:59:59'
GROUP BY
banan, rg ) as dt
group by
dt.banan
Fick denna koden när jag körde den i phpmyadmin
Mysql debuggerna pekade på andra SELECTEN som är (rg)
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT
case when A.hemma > A.borta
then 'vinst'
else 'f
Någon som kan göra om denna till 3.x kod.. eller är jag dömd att koda php =)