Autor Zpráva
Honziss
Profil *
Mám mysql databázi ve které mam dvě tabulky které vypadají následovně:

Tabulka zvire

[id] [nazev]
1     pes
2     kachna
3     slon

Tabulka majitele

[jmeno] [zvire1] [zvire2]
Honza    3            2
Pepa      1
Jana       1            2    



V druhé tabulce má každý uživatel uložené jedno, nebo dvě zvířata které chová. Abych nemusel tabulku "majitele" zaplácávat textovými hodnotami, pokud bude mít třeba sto uživatelů psa, tak je zbytečné aby ve sloupečku zvire1 bylo stokrát slovo pes a proto uložím jen ID toho zvířete a v první tabulce pak mám k těm ID přiřazeny názvy zvířat.

Pokud tedy udělám následující dotaz

mysql_query("SELECT jmeno, zvire1, zvire2 FROM majitele WHERE majitel = 'Honza'")

Tak se mi vrátí:
Honza 3 2

Já bych ale nějak potřeboval udělat abych mohl vypsat přímo název toho zvířete které je uložené pod tím ID v první tabulce takže aby to vypadalo takhle:
Honza slon kachna

Pravděpodobně asi nějak pomocí příkazu JOIN, ale nepodařilo se mi na to přijít :(

Díky za rady
paul27
Profil *
Zdravím,

Vaše dvě tabulky nejsou zrovna dobře navržené, chtělo by to platnit vazbu M:N. A ano, využijte JOINu.

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:

0