hi leute,
ich sitze gerade an einem berechtigungssystem und mache auch meine ersten gehversuche mit joins.
hier erstmal die tabellen:
"datentabellen"
"vernüpfungstabellen"
es soll jeder benutzer einer oder mehrere gruppe(n) angehören können und jede gruppe sollen wiederum rechte zugewiesen werden. also wie bei jedem betriebssystem.
so, jetzt möchte ich gerne zu einem benutzer alle "gruppen" und die dazugehörigen "rechte" auslesen.
$account_name habe ich bereits in einer variablen.
die gruppenzugehörigkeit kann ich schonmal abfragen:
so, und jetzt drehe ich mich im kreis. ich wollte noch einen weiteren join hinzufügen, um an die rechte zu kommen:
aber egal, wie ich es anstelle, mysql meldet:
habe ich schon grundsätzlich die tabellenfelder falsch benannt oder stelle ich mich einfach zu dusselig bei der abfrage an (muss ich einen alias vergeben)?
wahrscheinlich trifft beides zu
ich sitze gerade an einem berechtigungssystem und mache auch meine ersten gehversuche mit joins.
hier erstmal die tabellen:
"datentabellen"
Code:
CREATE TABLE `user_group` ( `name` varchar(20) NOT NULL default '', `description` varchar(50) default NULL, PRIMARY KEY (`name`) ) CREATE TABLE `user_right` ( `name` varchar(20) NOT NULL default '', `description` varchar(50) default NULL, PRIMARY KEY (`name`) )
Code:
CREATE TABLE `user_account_group` ( `account_name` varchar(20) NOT NULL default '', `group_name` varchar(20) NOT NULL default '', UNIQUE KEY `account_name` (`account_name`,`group_name`) ) CREATE TABLE `user_group_right` ( `group_name` varchar(20) NOT NULL default '', `right_name` varchar(20) NOT NULL default '', UNIQUE KEY `group_name` (`group_name`,`right_name`) )
so, jetzt möchte ich gerne zu einem benutzer alle "gruppen" und die dazugehörigen "rechte" auslesen.
$account_name habe ich bereits in einer variablen.
die gruppenzugehörigkeit kann ich schonmal abfragen:
PHP-Code:
$sql="SELECT
`group_name`, user_group.description AS `group_description`
FROM `user_account_group`
JOIN `user_group` ON `group_name`=`name`
WHERE `account_name`='$account_name'";
PHP-Code:
JOIN `user_group_right` ...
Code:
Column: 'group_name' in field list is ambiguous
wahrscheinlich trifft beides zu
Kommentar