首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择结构根目录的查询

选择结构根目录的查询
EN

Stack Overflow用户
提问于 2014-05-25 17:32:31
回答 1查看 40关注 0票数 1

我有一个SQL表,其结构如下

代码语言:javascript
复制
MENU1
    M1_SM_1
        M1_SM1_SSM_1
        M1_SM1_SSM_2

    M1_SM_2
        M1_SM2_SSM_1
        M1_SM2_SSM_2

    M1_SM_3
        M1_SM3_SSM_1
        M1_SM3_SSM_2

MENU2
    M2_SM_1
        M2_SM1_SSM_1
        M2_SM1_SSM_2

    M2_SM_2
        M2_SM2_SSM_1
        M2_SM2_SSM_2

........................
........................

所有这些都存储在sql表中,如下所示

代码语言:javascript
复制
+ID-------NAME------PARENT_ID
 1        MENU1         0
 2        MENU2         0
 3        MENU3         0
 4        M1_SM1        1
 5        M1_SM2        1
 6        M1_SM1_SSM1   4        
 7        M1_SM1_SSM2   4        

 ............................. 
 .............................

现在我已经给出了一个值,可以是MENU1、M1_SM1或M1_SM1_SSM1 (名称)(名称是唯一的)

我想选择其父元素为0的根元素,那么sql查询应该是什么呢?

也就是说,例如,如果我给出了M1_SM1_SSM1、M1_SM1或MENU1,那么选定的行将是

代码语言:javascript
复制
+ID-------NAME------PARENT_ID
 1        MENU1         0

有没有简单的PHP解决方案,使用一些while循环和条件来达到这个目的?

我是SQL的新手,不了解连接查询,这可能是一个非常简单的问题,但没有得到任何解决方案。欢迎使用任何解决方案。

EN

回答 1

Stack Overflow用户

发布于 2014-05-25 17:52:31

试着像这样巧合地调用一个变量:

代码语言:javascript
复制
$call = array(
"MENU1"=>array(
    "MENU1",
    "M1_SM1",
    "M1_SM1_SSM1"
),
"MENU2"=>array(
    "MENU2",
    "M1_SM2",
    "M1_SM1_SSM2"
),
"M1_SM1"=>array(
    "M1_SM1"
),
"M1_SM1_SSM1"=>array(
    "M1_SM1_SSM1"
),
"M1_SM2"=>array(
    "M1_SM2"
),
"M1_SM1_SSM2"=>array(
    "M1_SM1_SSM2"
)    
);

并执行您的查询

代码语言:javascript
复制
foreach($call as $k=>$v){
// my select here WHERE NAME = $call[$k]

}

希望这就是你想要的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23853911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档