MySQL Join on LIKE 语句

2024-01-21

我需要计算数据库中每个组中有多少用户。不幸的是,数据库设计不是很好,用户 uid 是针对组表中的组存储在 LONGTEXT 字段列名称 owncloudusers 中。 owncloudusers 数据示例:

{i:0;s:36:"25C967BD-AF78-4671-88DC-FAD935FF1B26";i:1;s:36:"40D6866B-EA06-4F39-B509-8CE551CC1924";i:2;s:36:" 7724C600-DE23-45C8-8BFD-326B0138E029​​";i:3;s:36:"D6FF37EC-11F4-471F-94C9-F3A28416CF1F";i:4;s:36:"F70C6D03-B7BA-44E4-B703-9AF3EED9BC 03" ;}

我想我可以在连接上使用带有 LIKE 的查询来比较用户的 uid 并查看 owncloud 用户内部并查看是否有匹配。

我得到的最接近的是:

SELECT T1.owncloudname, count(T2.owncloud_name) AS Users
FROM oc_ldap_group_members T1
LEFT JOIN oc_ldap_user_mapping T2 ON T1.owncloudusers LIKE('%:"'||T2.owncloud_name||'";%') 
GROUP BY owncloudname;

T1 表保存分组以及标记到该组的人员 T2 表保存用户数据。列 owncloud_name 是用户 uid 列

我尝试了在 stackoverflow CONCAT on the LIKE join 和 LIKE('%:"'+T2.owncloud_name+'";%') 上找到的一些方法

但没有喜悦。我当前的语句针对所有组返回 0 个用户,但我知道这是不对的。

我知道很多,但关于连接的问题不知道下一步该去哪里。

任何帮助将不胜感激。


我认为你需要一个简单的

    SELECT T1.owncloudname, count(*) AS Users
    FROM oc_ldap_group_members T1
    LEFT JOIN oc_ldap_user_mapping T2 ON T1.owncloudusers LIKE '%T2.owncloud_name%' 
    GROUP BY owncloudname;

如果你需要连接尝试

    SELECT T1.owncloudname, count(T2.owncloud_name) AS Users
    FROM oc_ldap_group_members T1
    LEFT JOIN oc_ldap_user_mapping T2 ON T1.owncloudusers 
       LIKE concat( '%',T2.owncloud_name,'%' )
    GROUP BY owncloudname;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL Join on LIKE 语句 的相关文章

随机推荐

  • 开罗图书馆和 Cmake

    我是 c 和 cmake 的新手 我按照所写安装了开罗库here https cairographics org download 通过端口 现在我想将开罗纳入我的项目中 我编写了 CmakeLists txt 命令 如图所示here ht
  • Angular 2 Uncaught(承诺):TypeError:无法读取未定义的属性“isActivated”

    如果我返回相同的路由路径 则会显示错误 未捕获 承诺 类型错误 无法读取未定义的属性 isActivated 但第一次不显示 谁能帮我 路由 const mainRoutes Routes path pathMatch full redir
  • MVC 捆绑不起作用

    我正在开发一个小型 mvc 项目 我已经在 BundleConfig cs 中声明了一个包 如下所示 JavaScript 包 bundles Add new ScriptBundle bundles Layout1JS Include C
  • 如何让 chrome 自动填充异步帖子

    我有一个表单 因为它是异步提交的
  • 节点 - fs.statbirthtimeMs 和 mtimeMs

    我在 Windows 的文件系统 NTFS 上创建了一个空文件 我打了电话fs stat并意识到birthtimeMs和mtimeMs是相等的 这对我的情况很有好处 因为我需要检测是否有人在此期间没有以某种方式更改文件 所以在 Window
  • 找到可执行文件的路径

    我使用 Go 为各种平台编译一个程序 并通过调用相对路径或仅通过其名称 如果它位于 PATH 变量中 来运行它 是否可以找出可执行文件在哪里 比如说 我的程序叫做 foo exe 我可以跑 foo foo 如果它在路径中 subdir su
  • 强制转换 (int?)null 与 new int?() - 哪个更好?

    I use Nullable
  • 没有默认构造函数的值初始化

    我想知道在什么情况下一个类可能没有默认构造函数但仍然会被值初始化 无默认构造函数 的典型情况是存在参数化构造函数但不存在默认构造函数违约 default 引用 2020 年标准第 9 4 1 章 初始化器 常规 最新草案包含等效措辞 对 T
  • Android:正弦波生成

    我正在尝试使用 AudioTrack 生成正弦波 方波和锯齿波 然而 它创建的音频听起来不像纯正弦波 而是像叠加了某种其他波 在使用第一个示例中的方法的同时 如何获得像第二个代码示例中那样的纯正弦波 由于上面的例子只涉及第二个例子中使用的一
  • Git hooks - 如何仅处理属于存储库内特定文件夹的文件?

    我对 git 有点陌生 对 bash 不太擅长 我有一个存储库 如果重要的话 在 Bitbucket 中 它只包含两个文件夹 我已经有一个钩子 用 bash 编写 可以触发 Jenkins 作业 现在我想更改它 因此它将仅针对提交到其中一个
  • 从另一个包加载 spritekit 场景?

    我正在使用 swift 4 2 制作 SpriteKit 框架 并希望包含一些用于场景和动作的 sks 文件 我尝试使用以下代码从包中加载场景 class func newGameScene gt GameScene guard let g
  • 设置文本时停止调整 UITextField 大小

    我有一个视图设置 其中布局了 4 个 UITextFields 并设置了约束 以便它在所有设备上看起来都很棒并且按预期工作 我有一个问题 如果我使用 TextField text some long text 设置文本或 TextField
  • 如何从 sqlite (3.6.21) 表中删除约束?

    我有下表 CREATE TABLE child id INTEGER PRIMARY KEY parent id INTEGER CONSTRAINT parent id REFERENCES parent id description T
  • 跨隐藏跨度搜索文本 (Ctrl+F)

    Is it possible to search for text using your browser s Ctrl F function across three span tags if the middle tag is set t
  • 突出显示特定日期(来自 bean 的值)

    使用素面
  • C++11 中的纯函数

    C 11 中的一个可以以某种方式gcc将函数 不是类方法 标记为const告诉它是pure并且不使用全局内存而仅使用其参数 我试过了gcc s attribute const 它是恰恰我想要的是 但当函数中触及全局内存时 它不会产生任何编译
  • PHP $_POST 不带重音符号

    这个问题已经解决了 看我的回答看看解决方案 我试图通过使用 POST 提交到 PHP 页面的 html 表单向我的数据库添加带有重音字母的文本 问题是重音字母被转换为不可读的字符 我有这个表格
  • 在目录树中查找具有给定扩展名的文件

    我有一个文件夹 其中有一些文件和子文件夹 例如 我需要返回具有给定扩展名的文件名或相对地址 如果文件位于子文件夹中 html 例如 这是给定文件夹的结构 文本 某事 ncx 文本 123 html 内容 opf toc ncx Flow 0
  • Ctrl+。 (点) 使“e”出现,而不是在 Gnome 上的 VSCode 中显示建议

    我在 Gnome 上使用 VSCode 在 Arch 上的 XOrg 上 最近以来 捷径Ctrl 停止工作 尽管仍然列在键盘快捷键中并且所有扩展都被禁用 相反 带有下划线的e出现 当按两次 Enter 或按一次 ESC 时 该字符消失 当写
  • MySQL Join on LIKE 语句

    我需要计算数据库中每个组中有多少用户 不幸的是 数据库设计不是很好 用户 uid 是针对组表中的组存储在 LONGTEXT 字段列名称 owncloudusers 中 owncloudusers 数据示例 i 0 s 36 25C967BD