Autor | Zpráva | ||
---|---|---|---|
caradoc Profil * |
#1 · Zasláno: 11. 8. 2009, 13:41:29
prosím potřebuji poradit,
mám dvě tabulky, první tabulka má v sobě data table slozky ID, nazev 1 | slozka01 2 | slozka02 druhá tabulka má v sobě data ID | id_slozky | soubor | opravneni 1 | 1 | 1.jpg | user 2 | 1 | 2.jpg | user 3 | 1 | 3.jpg | user 4 | 1 | 4.jpg | user 5 | 1 | 5.jpg | admin 6 | 2 | 1.jpg | user 7 | 2 | 2.jpg | user a teď potřebuji napsat selekt který vybere toto : vypíše název složek z tabulky "slozky" poté zjistí počet souborů v dané složce, a počet fotek pro uživatele "user" a nebo "admin" podle toho kdo je přihlášen zkusil jsem takto : SELECT slozky.nazev, COUNT(fotky.id_slozky) AS pocet_fotek, (SELECT COUNT(fotky.opravneni) FROM fotky WHERE opravneni LIKE '%free%') AS opravneni FROM slozky LEFT JOIN fotky ON fotky.id_slozky=slozky.id GROUP BY nazev ORDER BY slozky.nazev DESC ale nepracuje to správně,počty oprávnění jsou chybná, nezjišťuje oprávnění vidět soubory pro danou složky z tabulky slozky, poraďte prosím, |
||
AM_ Profil |
#2 · Zasláno: 13. 8. 2009, 10:02:11
„WHERE opravneni LIKE '%free%'“
v té tabulce vidím jen oprávnění USER a ADMIN. Jinak nevím, jestli je šťastné to porovnávat like, myslím, že oprávnění by se mělo porovnávat přes =. Nebo ještě lépe, oprávnění bych řešil jako tabulku o 3 sloupcích: uzivatel / soubor / ano-ne přičemž by byla nějaká výchozí kritéria a zapsala by se oprávnění jen těch souborů, kde budou jiná, než výchozí. Pokud by ke všem souborům mohl výchoze každý, mohl bys vypustit sloupec ano-ne a dvojice uzivatel-soubor by ukazovala rovnou, že uživatel k souboru nemůže. |
||
Časová prodleva: 15 let
|
0