SQL - propojení 3 tabulek

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod maaacaCZ 3. 11. 2016 22:03

Ahoj, potřeboval bych pomoc s propojením tří tabulek. SQL zvládám na základní úrovni a tady i přes snahu něco načíst se mi nedaří dát dohromady něco funkčního.

Mám tři tabulky - název (sloupce, ):
trips (tripid, visible, ...)
countries_trips_map (trip_id, country_id) //propojovací tabulka
countries (country_id, polygon)

Potřebuji vypsat z tabulky countries polygon, ale jen pro ty země, které mají přiřazený nějaký trip a ten ještě musí mít v tabulce trips visible = '1'. Jedna země může mít přiřazeno více tripů, vypsat ji však chci jenom jednou.

Díky za praktické rady.
maaacaCZ
Kolemjdoucí

Odeslat příspěvekod Wikan 3. 11. 2016 22:17

select c.polygon
from trips t
join countries_trips_map ct on t.tripid = ct.trip_ip
join countries c on ct.country_id = c.country_id
where t.visible = '1'
group by c.country_id, c.polygon
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod maaacaCZ 3. 11. 2016 23:39

Díky, tohle funguje, ale ještě bych to potřeboval omezit, aby to každou zemi našlo jenom jednou.
maaacaCZ
Kolemjdoucí

Odeslat příspěvekod Wikan 3. 11. 2016 23:53

Ty máš v tabulce countries více záznamů se stejným country_id?
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod maaacaCZ 4. 11. 2016 00:14

Ne, funguje to samozřejmě správně! Už mi to vůbec nemyslí :)

Díky moc za tohle nakopnutí.
maaacaCZ
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků