Witam, mam taki problem. Kiedys napisałem stronkę która korzystala z xampa i mysql. Użyłem tam pewnego zapytania które z tabeli z danymi o meczach tworzyło mi tabele z wynikami ligowymi. chciałbym teraz to zapytanie przenieść do SQL Server 2012, jednak nie działa. Problem jest w miejscu instrukcji if.
SELECT
d.nazwa_druzyny,
SUM(IF(m.druzyna1=d.id_druzyny AND m.gole_druzyny1>m.gole_druzyny2 OR m.druzyna2=d.id_druzyny AND m.gole_druzyny1<m.gole_druzyny2, 1, 0 ) ) AS zw,
SUM(IF(m.druzyna1 = d.id_druzyny AND m.gole_druzyny1 < m.gole_druzyny2 OR m.druzyna2 = d.id_druzyny AND m.gole_druzyny1 > m.gole_druzyny2 , 1, 0 ) ) AS prz,
SUM(IF(m.gole_druzyny1 = m.gole_druzyny2 , 1, 0 ) ) AS re,
sum( IF( m.druzyna1 =d.id_druzyny, m.gole_druzyny1 , IF( m.druzyna2 =d.id_druzyny, m.gole_druzyny2 , 0 ) ) ) AS bramkistrzelone,
sum( IF( m.druzyna1 =d.id_druzyny, m.gole_druzyny2 , IF( m.druzyna2 =d.id_druzyny, m.gole_druzyny1 , 0 ) ) ) AS bramkistracone,
sum( IF( m.druzyna1 =d.id_druzyny AND m.gole_druzyny1 > m.gole_druzyny2 OR m.druzyna2 =d.id_druzyny AND m.gole_druzyny1 < m.gole_druzyny2 , 1, 0 ) )*3+sum( IF( m.gole_druzyny1 = m.gole_druzyny2 , 1, 0 ) ) AS punkty
FROM
druzyny AS d
LEFT JOIN
mecze AS m
ON
(m.druzyna1 = d.id_druzyny OR m.druzyna2 = d.id_druzyny)
GROUP BY
d.id_druzyny,
d.nazwa_druzyna
ORDER BY
punkty DESC;
Da się taka tabele stworzyć w jednym zaptyaniu, czy trzeba bedzie pisac procedure?