思源笔记 SQL 命令求助

本人思源笔记的文件结构如下:

笔记本
└─ 姓名
       ├─ 人名1
       ├─ 人名2
       ├─ 人名3
       └─ 人名4

每个人名文档里面的内容主要如下:

手机:137XXXXXXXX
邮箱:XXX@XXX
单位:XXX
职务:XXX
备注:XXX

本人 SQL 小白,求助一条 SQL 命令,显示如下表格内容

姓名 单位 职务
人名 1 XXX XXX
人名 2 XXX XXX

不知道使用 SQL 能否实现?

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    19811 引用 • 75861 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6888 引用 • 31055 回帖 • 230 关注

相关帖子

被采纳的回答
  • sql 中的 p.id 是子查询。可以在 where 后面添加条件来指定查询的路径,比如我这里的 hpath like '/姓名/%' 是指定 姓名 路径下的文档。想要指定单个文档,可以使用:root_id = '文档ID'

    image.png

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • adogs

    一个思路,通过 sql 合并该目录下所有的文档输出到一个文档中,然后通过 ai 模块(模型 3.5t 就够了)相关自然提示词,输出该字段表格,应该也算一个解决方案。

    1 回复
  • ZuoMu

    我感觉使用 sql 应该能直接实现

  • MisakaImouto 1 1 赞同

    使用 Query 挂件,SQL 如下

    SELECT
     content  __1__姓名, 
    ( SELECT replace(content, "单位:", "") FROM blocks where root_id = p.id and content like '单位:%' limit 1 ) __2__单位, 
    ( SELECT replace(content, "职务:", "") FROM blocks where root_id = p.id and content like '职务:%' limit 1 ) __3__职位
    FROM
        blocks p
    WHERE
        hpath like '/姓名/%'
        and type = 'd'
    
    1 回复
  • ZuoMu

    这个 SQL 语句可以实现我想要的功能,但是为什么使用这个挂件,第一次可以查询成功

    再点 Query 的那个按钮,会显示红色按钮报错,查看插件的说明文档,提示红色是因为

    • SQL 语句错误
    • 未知错误
    1 回复
  • 可能是 sql 代码块中不小心添加了其他字符。具体报错原因可以通过开发者工具,在控制台查看 sql 的响应再分析

    image.png

    2 回复
  • ZuoMu

    出现两个 SQL 的请求,第一个 SQL 请求返回数据如下:

    {"code":1,"msg":"no such column: k1mtxu6","data":null}
    

    这里面的 k1mtxu6 是文档 ID

    第二个 SQL 请求返回如下:

    {
    "code": 0,
    "msg": "",
    "data": [
    {
    "alias": "",
    "box": "20240207183515-9gqfl7s",
    "content": "SELECT\n content  __1__姓名, \n( SELECT replace(content, \"单位:\", \"\") FROM blocks where root_id = 20240207184018-k1mtxu6 and content like '单位:%' limit 1 ) __2__单位, \n( SELECT replace(content, \"职位:\", \"\") FROM blocks where root_id = 20240207184018-k1mtxu6 and content like '职位:%' limit 1 ) __3__职位\nFROM\n    blocks p\nWHERE\n    hpath like '/姓名/%'\n    and type = 'd'\n",
    "created": "20240208172935",
    "fcontent": "",
    "hash": "fb2b10f",
    "hpath": "/姓名",
    "ial": "{: custom-type=\"query-code\" id=\"20240208172935-78ki7ec\" style=\"line-height: 22px;\" updated=\"20240208172945\"}",
    "id": "20240208172935-78ki7ec",
    "length": 355,
    "markdown": "```sql\nSELECT\n content  __1__姓名, \n( SELECT replace(content, \"单位:\", \"\") FROM blocks where root_id = 20240207184018-k1mtxu6 and content like '单位:%' limit 1 ) __2__单位, \n( SELECT replace(content, \"职位:\", \"\") FROM blocks where root_id = 20240207184018-k1mtxu6 and content like '职位:%' limit 1 ) __3__职位\nFROM\n    blocks p\nWHERE\n    hpath like '/姓名/%'\n    and type = 'd'\n```",
    "memo": "",
    "name": "",
    "parent_id": "20240207184018-k1mtxu6",
    "path": "/20240207184018-k1mtxu6.sy",
    "root_id": "20240207184018-k1mtxu6",
    "sort": 10,
    "subtype": "",
    "tag": "",
    "type": "c",
    "updated": "20240208172945"
    }
    ]
    }
    
  • ZuoMu

    把命令中的 root_id = 使用你写的 p.id 就行了

    使用我手动填写的那个文档的数字符号 id 就不行了

    1 回复
  • adogs

    没想到啊,思源的 sql 居然这么强?学习一把。

  • sql 中的 p.id 是子查询。可以在 where 后面添加条件来指定查询的路径,比如我这里的 hpath like '/姓名/%' 是指定 姓名 路径下的文档。想要指定单个文档,可以使用:root_id = '文档ID'

    image.png

请输入回帖内容 ...

推荐标签 标签

  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 288 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 610 关注
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 24 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8208 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 506 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    332 引用 • 619 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 711 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 11 关注
  • OnlyOffice
    4 引用 • 16 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    69 引用 • 190 回帖 • 483 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    379 引用 • 1221 回帖 • 589 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 455 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 2 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 148 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 192 关注
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 510 回帖
  • 反馈

    Communication channel for makers and users.

    124 引用 • 907 回帖 • 209 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 18 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 896 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 31 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖 • 1 关注