Cześć,
mam taką tabele:
CREATE TABLE mecze
(
id int auto_increment primary key,
druzyna_1 int,
druzyna_2 int,
wynik varchar(10),
kto_wygral int,
data_gry date
);
INSERT INTO mecze
(druzyna_1, druzyna_2, wynik, kto_wygral, data_gry)
VALUES
(1,3,'2:1',1,'2015-09-01'),
(2,3,'2:2',3,'2015-09-02'),
(3,1,'5:2',3,'2015-09-03'),
(4,2,'3:1',2,'2015-09-04'),
(5,1,'2:7',1,'2015-09-05'),
(1,5,'1:1',5,'2015-09-06'),
(2,1,'0:1',1,'2015-09-07'),
(3,4,'2:1',4,'2015-09-08'),
(4,5,'0:0',5,'2015-09-09'),
(5,4,'2:2',4,'2015-09-10'),
(1,4,'3:1',1,'2015-09-11'),
(2,3,'2:2',3,'2015-09-12'),
(3,5,'2:1',3,'2015-09-13'),
(4,1,'1:1',4,'2015-09-14'),
(5,4,'2:1',5,'2015-09-15'),
(1,4,'4:4',1,'2015-09-16'),
(2,3,'3:0',3,'2015-09-17'),
(3,5,'2:0',5,'2015-09-18');
Potrzebuje otrzymać informacje o ostatnim meczu zespołu = 1 z każdą drużyną z którą grał, kiedy było ostatnie spotkanie i ile było łączenie spotkań.
Zespół 1 może wystąpić w kolumnie druzyna_1 jak i druzyna_2
Taki wynik chciałbym uzyskać:
Drużyna Przeciwnik Ostatni mecz łącznie meczy
1 2 2015-07-07 1
1 3 2015-07-16 2
1 4 2015-07-16 2
Nie bardzo znam się na konstruowaniu bardziej zaawansowanych zapytań.
Męczę się z tym dłuższy czas i to jedyne co mi się udało stworzyć:
select druzyna_1, druzyna_2, data_gry FROM
(
(SELECT
druzyna_1, druzyna_2,
data_gry FROM mecze WHERE druzyna_1 =1 group by druzyna_1,druzyna_2
)
UNION ALL
(
SELECT
druzyna_1, druzyna_2,
data_gry FROM mecze WHERE druzyna_2 =1 group by druzyna_1,druzyna_2
)
)
t
GROUP BY druzyna_1
ORDER BY druzyna_2
Nie idę jednak chyba w dobry kierunku więc może ktoś pomoże rozwiązać problem?