我有三张桌子。这是一个例子
table_one
-------------------------------------
id | username | group |
-------------------------------------
1 | user | 1 |
-------------------------------------
table_two
----------------------
groupid| groupname |
----------------------
1 | superadmin |
----------------------
table_three
----------------------------------
id | rights | groupid |
----------------------------------
1 | 1 | 1 |
----------------------------------
2 | 2 | 1 |
----------------------------------
table_four
---------------------------------------------
rights | name |
---------------------------------------------
1 | adminforfirsttdepartment |
---------------------------------------------
2 | adminforseconddepartment |
---------------------------------------------
我想获得username
和id
以及group
的{{1}}信息,以及username
所有rights
的信息是group
的{{1}}(或group
= user
' s groupie
),user
的{{1}}在groupid
上分配的name
。
是否可以只有一个查询?
答案 0 :(得分:0)
尝试此操作,不要忘记更改:id
条件下的where
。
SELECT t1.id,
t1.username,
t4.name
FROM table_one t1
INNER JOIN table_two t2
ON t1.group = t2.groupid
INNER JOIN table_three t3
ON t2.groupid = t3.groupid
INNER JOIN table_four t4
ON t3.rights = t4.rights
WHERE t1.id = :id
注意:根据您的要求更改where
条件。