Autor Zpráva
AM_
Profil
Zdravím,
prosím vás, lze něco jako toto?
SELECT users.id, users.name, groups.* AS auth_* FROM users LEFT JOIN groups ON users.group_id = groups.id WHERE ...
Zkrátka jestli lze nějak aliasovat výběr z jedné tabulky pomocí hvězdičky. Mám tabulku uživatelů a ta je spojená s tabulkou uživatelských oprávnění, kde každá skupina uživatel má určitá práva. Každé právo odpovídá jednomu sloupci z tabulky groups (bude buď 0 nebo 1), a rád bych, aby tahle část programu nebyla závislá na tom, jaké sloupce zrovna v tabulce jsou. Když si udělám třeba práva "pridej", "uprav", "maz", a uživatel franta bude mít práva "pridej", "uprav", vybere mi to:
id =>1
name =>"franta"
auth_pridej =>1
auth_uprav =>1
auth_smaz =>0
auth_id =>0
Nakonec mě napadá, že lepší řešení bude asi všechny sloupce v tabulce groups reprezentující nějaké pravidlo rovnou prefixovat auth_, aby se mi nemíchaly s groups.id a groups.groupname, který reprezentuje název uživatelské skupiny. Ale stejně by mě teď zajímalo, jestli MySQL umí něco jako aliasovat výběr pomocí *, už čistě ze zvědavosti a někdy by to určitě mohlo být užitečné :)
Kajman_
Profil *
Myslím, že mysql to neumožní, ale můžete si to udělat až v php...
http://cz2.php.net/manual/en/function.mysql-field-table.php
AM_
Profil
Dobrý nápad :) díky.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0