Witam,
Mam następujące tabele:
mecz(
`id`,
`gospodarz`,
`gosc`,
`skr_gospodarz`,
`skr_gosc`,
`br_gospodarz`,
`br_gosc`,
`opis`,
`termin`,
`pozycja`,
`status_m`,
`kolor`,
`id_kolejka`,
PRIMARY KEY (`id`)
)
typ (
`id`,
`typ_gospodarz`,
`typ_gosc`,
`data_typ`,
`id_mecz`,
`id_gracz`,
`id_kolejka`,
PRIMARY KEY (`id`)
)
punkty (
`id`,
`punkty`,
`id_gracz`,
`id_mecz`,
`id_kolejka`,
PRIMARY KEY (`id`)
)
Czy takie zapytanie łączące wszystkie 3 tabele jest ok?
SELECT m.id,m.gospodarz,m.gosc,m.br_gospodarz,m.br_gosc,p.punkty,t.typ_gospodarz,t.typ_gosc
FROM mecz m
INNER JOIN typ t
ON (m.id = t.id_mecz) AND (m.id_kolejka = t.id_kolejka)
INNER JOIN punkty p
ON (m.id = p.id_mecz) AND (m.id_kolejka = p.id_kolejka) AND (m.id = t.id_mecz) AND (m.id_kolejka = t.id_kolejka) AND
(p.id_mecz = t.id_mecz) AND (p.id_kolejka = t.id_kolejka) AND (p.id_gracz = t.id_gracz)
WHERE (m.id_kolejka = 1) AND (t.id_gracz = 1) AND (m.status_m = 1)
ORDER BY m.id ASC
Czemu otrzymuję pusty wynik? Co robię źle? Dodam że wszystkie tabele są wypełnione danymi. Dodam też że łączenie 2 dowolnych tabel działa.
dzięki
Ten post edytował damianooo 25.07.2012, 19:52:23