Autor | Zpráva | ||
---|---|---|---|
Marek_ Profil * |
#1 · Zasláno: 3. 12. 2013, 18:27:30
Potreboval bych poradit se SELECTEM z databaze.
V tabulce mam tyto data: +------------------------------------- | kategorie +-------+--------+----------------- |id_kat | nadr | nazev +-------+-------+----------------- | 1 | 0 |kategorie 1 | 2 | 1 |kategorie 2 | 3 | 1 |kategorie 3 Potreboval bych vypsat vsechny data z tabulky tak, aby sloupec nadr nevypisoval ulozene cislo, ale rovnou nazev nadrazene kategorie. Takze na radku 2 by se melo vypsat: id_kat: 2 nadr: kategorie 1 nazev: kategorie 2 U tretiho radku je vypis podobny a prvni radek nema nadrazenou kategorii - nemelo by se vypsat nic. |
||
Taps Profil |
Marek:
Podle mě to zavání špatně navrženou strukturou databáze |
||
Marek_ Profil * |
#3 · Zasláno: 3. 12. 2013, 19:58:11
Taps:
tento dotaz nefunguje, pise chybu: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in ... |
||
Medvídek Profil |
#4 · Zasláno: 3. 12. 2013, 21:02:54
Marek:
SELECT s.id_kat, s.nazev, (SELECT nazev FROM tabulka WHERE id_kat = s.nadr) nadr FROM tabulka s |
||
Marek_ Profil * |
#5 · Zasláno: 3. 12. 2013, 22:56:02
Medvídek:
Diky, tohle funguje. Jeste bych potreboval pripojit jinou tabulku. Myslel jsem, ze pouziju LEFT JOIN, ale bud delam neco spatne a nebo je na to jiny figl. Proste mi to nejde ... SELECT s.id_kat, s.nazev, (SELECT nazev FROM tabulka WHERE id_kat = s.nadr) nadr FROM tabulka s LEFT JOIN jinatabulka ON tabulka.id_kat=jinatabulka.sloupec1 toto mi nefunguje |
||
Medvídek Profil |
Marek:
Mělo by fungovat: SELECT s.id_kat, s.nazev, (SELECT nazev FROM tabulka WHERE id_kat = s.nadr) nadr, t.* FROM tabulka s LEFT JOIN jinatabulka t ON s.id_kat = t.sloupec |
||
Marek_ Profil * |
#7 · Zasláno: 4. 12. 2013, 17:32:19
Medvídek:
Diky moc, tohle funguje a mam to kompletni. Mohl bych poprosit jeste male vysvetleni toho dotazu abych to umel pouzit i v jinych pripadech ? |
||
Časová prodleva: 10 let
|
0