Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
Mám níže uvedenou strukturu tabulek. U jednotlivých akcí má uživatel možnost přihlásit se nebo odhlásit se z dané akce
CREATE TABLE `zakazka_akce` ( `id` int(11) NOT NULL AUTO_INCREMENT, `termin` int(11) NOT NULL, `misto` varchar(255) COLLATE utf8_czech_ci NOT NULL, `typ` text COLLATE utf8_czech_ci NOT NULL, `informace` text COLLATE utf8_czech_ci NOT NULL, `uzaverka` int(11) NOT NULL, `kontakt` text COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; CREATE TABLE `zakazka_prihlaseni` ( `id` int(11) NOT NULL AUTO_INCREMENT, `idAkce` int(11) NOT NULL, `idUzivatele` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=114 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; CREATE TABLE `zakazka_uzivatele` ( `id` int(11) NOT NULL AUTO_INCREMENT, `jmeno` varchar(255) COLLATE utf8_czech_ci NOT NULL, `heslo` text COLLATE utf8_czech_ci NOT NULL, `email` varchar(255) COLLATE utf8_czech_ci NOT NULL, `pravo` enum('0','1') COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; používám níže uvedený dotaz, ale bohužel mi nefunguje správně. Pokud je uživatel přihlášen u dvou akcí, tak se mu jen u jedné vypíše že je přihlášen select *,za.uzaverka as bloknuti,FROM_UNIXTIME(termin, '%d.%m.%Y %H:%i') as termin1,FROM_UNIXTIME(uzaverka, '%d.%m.%Y %H:%s') as uzaverka1,za.id as id,zu.id as uzivatel,IF(zp.idUzivatele=zu.id,'prihlasen','neprihlasen') as podminka from zakazka_akce za left join zakazka_prihlaseni zp on za.id=zp.idAkce left join zakazka_uzivatele zu on zp.idUzivatele=zu.id and zp.idUzivatele='2' group by za.id order by termin ASC Pokud uživatel není přihlášen tak není jeho záznam v tabulce zakazka_prihlaseni Děkuji |
||
Kajman Profil |
#2 · Zasláno: 26. 2. 2012, 22:24:24
Ta podmínka AND zp.iduzivatele = '2' má být asi v tom prvním joinu. Druhý asi ani není potřeba...
SELECT *, za.uzaverka AS bloknuti, From_unixtime(termin, '%d.%m.%Y %H:%i') AS termin1, From_unixtime(uzaverka, '%d.%m.%Y %H:%s') AS uzaverka1, za.id AS id, zp.iduzivatele AS uzivatel, IF(zp.iduzivatele IS NOT NULL, 'prihlasen', 'neprihlasen') AS podminka FROM zakazka_akce za LEFT JOIN zakazka_prihlaseni zp ON za.id = zp.idakce AND zp.iduzivatele = '2' GROUP BY za.id ORDER BY termin ASC |
||
Taps Profil |
#3 · Zasláno: 27. 2. 2012, 07:13:43
Kajman:
Děkuji |
||
Časová prodleva: 12 let
|
0