RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 792849
Accepted
And
And
Asked:2020-03-03 13:03:45 +0000 UTC2020-03-03 13:03:45 +0000 UTC 2020-03-03 13:03:45 +0000 UTC

获取三级万能钥匙

  • 772

任务如下:
有一个keys带有柱子的盘子:
key | bind
哪里key- 这是关键,并且bind- 这是,可以说,被捆绑key。
例子:

key1
key2  key1  
key3  key1  
key4  key1  
key5  key2  
key6  key5  

底线是绑定的工作方式如下:
我们采用一个特定的键:

  • 键1
    • 键2
      • 关键5
        • 关键6
    • 关键3
    • 关键4

一切都正确。
问题:
如何编写一个从第二级和第三级获取主密钥的函数?
例子:
我们key6拿应该演绎key1,我们拿key5,我们应该演绎key1,我们key2拿应该演绎key1。
不应该超过3级,也不应该走高——意思是如果key1出现y key0,那么ckey6不应该跳得更高key1,,key5应该返回key1,key2应该返回key1——应该保存的序列key0不应该输出。

我自己不会写算法,我不会以任何方式进入,请帮助。

php
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Mike
    2020-03-03T17:42:22Z2020-03-03T17:42:22Z
    select coalesce(T2.bind, T1.bind, T.bind, T.`key`)
      from Table1 T
      left join Table1 T1 on T1.`key`=T.bind
      left join Table1 T2 on T2.`key`=T1.bind
     where T.`key`='key6'
    

    在sqlfiddle.com进行测试

    如果没有找到父键,则返回所需的键。如果这不是必需的,但您需要获取 NULL,则将其从 coalesce 中删除T.key。

    升级版:

    SELECT `k2`.`bind`
    AS `k2bind`, `k1`.`bind`
    AS `k1bind`, `k`.`bind`
    AS `kbind`, `k`.`key`
    AS `kkey`
    FROM `keys` AS `k`
    LEFT JOIN `keys`
    AS `k1`
    ON `k1`.`key`=`k`.`bind`
    LEFT JOIN `keys`
    AS `k2`
    ON `k2`.`key`=`k1`.`bind`
    WHERE `key`='key6'
    
    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5