Autor Zpráva
Manny
Profil *
Ahoj,
v jedné tabulce mám pořadí týmů v ligové tabulce a ve druhé mám jednotlivá utkání všech týmů.
První tabulka má následující strukturu - ligue_table:
ID | TEAM | SCORE | ...

A ta druhá matches:
ID | TYM (=ID z první tabulky) | KARTY | ...

A snažím se vytáhnout všechna data z první tabulky a všechna ze druhé... zkouším to následovně:
SELECT ligue_table.* FROM ligue_table JOIN matches ON ligue_table.id=matches.tym

Toto mi vypíše všechny zápasy všech týmů. Jak jsem psal - chtěl bych mít k dispozici i data druhé tabulky, zkoušel jsem toto:
SELECT ligue_table.*,matches*   FROM ligue_table,matches  JOIN matches ON ligue_table.id=matches.tym


Ale ani jedno mi bohužel nejde. a píšu.. Budu rád za každou radu :)
tiso
Profil
Manny:
SELECT ligue_table.*,matches.* FROM ligue_table JOIN matches ON ligue_table.id=matches.tym

...ale budeš mať duplicitný stĺpec s názvom id, lebo sa vyskytuje v oboch tabuľkách. Lepšie je vymenovať stĺpce ručne (aspoň z jednej tabuľky) a na jeden z nich použiť alias
Manny
Profil *
tak jsem si to upravil i na ty aliasy (díky):
SELECT ligue_table.*,matches.id as m_id, matchis.tym as m_tym FROM ligue_table JOIN matches ON ligue_table.id=matches.tym


a ještě řeším jeden problém - když teďka podmínce
ligue_table.id=matches.tym
v tabulce matches vyhovuje třeba 5 záznamů, snažím se, aby mi to vypsalo jen jednou (zkouším to DISTINCTem), ale nedaří se mi.

Zkoušel jsem něco jako:
SELECT ligue_table.*,DISTINCT (matches.id as m_id), matchis.tym as m_tym FROM ligue_table JOIN matches ON ligue_table.id=matches.tym


nebo podobné věci, ale nic mi nejde... jde to takhle nějak vyřešit?
Kajman_
Profil *
A čeho chcete vlastně dosáhnout? Můžete seskupovat data díky group by, ale pak má význam přistupovat ke sloupečkům, podle kterých se neseskupuje jen přes agregační funkce (např. count, sum, avg),

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: