父子数据库架构

时间:2016-09-16 06:10:28

标签: php mysql database

我有一个名为user

的表

USER(表)

user_id      name     status_privilege(0=child,1=parent)    added_user_id
   2          abc                    1
   13       child_1                  0                          2
   14       child_2                  0                          2

我想在所有user_id = 2(所有孩子的登录名)中显示user_id = 14,15(父母的)数据。我还要在user_id = 14 , 15的数据中显示user_id = 2的数据。 (反之亦然)

那为了做什么?

我尝试了这个查询。

SELECT *,child.user_id as child_user_id,parent.user_id as parent_user_id
FROM user as parent
INNER JOIN user as child ON parent.user_id = child.user_added_id
WHERE child.user_id = '14'

所以我得到了 child_user_id = 14& parent_user_id = 2

但我希望当我在下面查询时,它给我空白的结果。 (已更改child.user_id = '2'

SELECT *,child.user_id as child_user_id,parent.user_id as parent_user_id
FROM user as parent
INNER JOIN user as child ON parent.user_id = child.user_added_id
WHERE child.user_id = '2'

所以我想要的是当我触发查询单一查询时,如果用户是父母,那么我想要它的孩子user_id ='2'中的所有数据意味着数据为14& 15位用户。所有孩子中的第二个user_id数据。

注意:其他表格中的所有数据都来自user_id,这样可能吗? 这是现有项目的要求,所以我不能改变数据库结构,否则我可以遵循父子结构的MySQL层次结构。

1 个答案:

答案 0 :(得分:2)

答案是基于我从问题中理解的是: 如果父用户登录,则需要完整的子用户ID数组,如果子用户登录,则只需要一个父用户ID。

所以在php中你可以通过

派生出来
C constructor()
P constructor()
C _init() //printed from Child.prototype._init
C _init() //printed from Child.prototype._init
child undefined
相关问题