问题标签 [find-in-set]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4257 浏览

mysql - codeigniter FIND_IN_SET 不适用于连接

codeigniter-mysql需要选择要从table_2中连接的值,table_1并且需要在逗号分隔的字段值中应用 where 语句。尝试如下,

但是上面的codeigniter db对象返回以下mysql查询并且它不起作用:(

似乎周围的引号'FIND_IN_SET(table_1.id,table_2.places_id)<>0'造成了问题!感谢所有帮助以解决问题。

0 投票
2 回答
2817 浏览

mysql - GROUP_CONCAT 和 FIND_IN_SET,多个连接

我想检索设置了某些过滤器的项目。例如,红色或蓝色且较小的列表项应仅返回项 apple。((红色(2)或蓝色(4))和小(5))=>苹果

我找到了 2 个解决方案,但在我看来,这两个解决方案都过于复杂。第一个解决方案在我看来更优雅,因为当我想添加另一个过滤器时AND,它非常简单。而第二种解决方案将需要另一个JOIN. 我希望我忽略了一些东西,并且有一个比这个更好的解决方案。

这些问题,

  1. 有更好的解决方案吗?
  2. 如果没有更好的解决方案 - 哪个更快/推荐?

项目表

过滤表

item_filter

基于 GROUP_CONCAT 和 FIND_IN_SET 的第一个解决方案

sqlfiddle:http ://sqlfiddle.com/#!9/26f99/1/0

仅基于 JOIN 和 where 子句的第二种解决方案

sqlfiddle:http ://sqlfiddle.com/#!9/f0b95/1/0

0 投票
3 回答
3223 浏览

mysql - 如何在 MySQL 列数组中查找 id

公司表结构:

列中的数字members是添加到该公司的用户 ID。

当用户id = 3 OR 52 OR 134 OR 21登录时,上面的行应该返回一个 MySQL 查询。

这可以通过查询实现还是我必须编辑我的表结构?

0 投票
1 回答
718 浏览

mysql - IN 运算符不使用字符串值

我正在使用以下查询从我的表中过滤记录:

即使我在teaching_locations列的表中存储了以下值,它也会返回一个空结果:newyork,Salt Lake City,los angeles.

我尝试过使用其他值,并且除了中间有空格的值之外,它与其他值都可以正常工作。例如,如果列值为“ newyork”,则查询工作正常。

0 投票
2 回答
706 浏览

mysql - MySQL Select 查询以根据列表值获取记录

我正在使用 MySQL。我有 3 表如下。

表:subject_Master

表:class_Master

表:主题分配

我如何获得如下 SQL 结果,想要获取 subjectAllocation 行中每个 subjectId 的 SubjectName

0 投票
1 回答
527 浏览

mysql - FIND IN SET 不适用于 PDO

我在使用 mysql 的 FIND_IN_SET 和 pdo 时遇到问题。这是我的代码:

这不会产生任何结果。难道我做错了什么?谢谢!

0 投票
3 回答
9981 浏览

postgresql - mysql FIND_IN_SET 相当于 postgresql

请告诉我相当于预定义或用户定义的 postgresql 函数

0 投票
1 回答
151 浏览

ios - FMDB 数据库查询 IOS FIND_IN_SET()

我在 IOS 中使用 FMDB 数据库。在我的数据库中,我有一列称为标签。标签列有一个逗号分隔的值,如apple,banana,. 我想要Title我的关键字匹配的列。我想知道如何在表格列中搜索逗号分隔值请帮助。

0 投票
1 回答
384 浏览

mysql - MySQL 多个结果,在一组值中查找

我需要获取多行文章,其中文章 ID 在下面的列表中。(在字符串列表中)

如何正确地做到这一点?

0 投票
2 回答
3855 浏览

sql - SQL Server 2014 相当于 mysql 的 find_in_set()

我正在使用具有位置表的数据库,例如:

这使得一棵树像这样

其中 locationHierarchy 是其所有祖先的 locationID 的 csv 字符串(想想层次结构树)。在给定起始 locationID 的情况下,当朝着树的顶部工作时,这使得确定层次结构变得容易。

现在我需要编写代码以从祖先开始并递归查找所有后代。MySQL 有一个名为“find_in_set”的函数,它可以轻松解析 csv 字符串以查找值。这很好,因为我可以说“在集合中查找值 4”,这将给出所有 locationID 为 4 的后代的位置(包括 4 本身)。

不幸的是,这是在 SQL Server 2014 上开发的,它没有这样的功能。CSV 字符串是可变长度(几乎允许无限级别),我需要一种方法来查找某个位置的所有祖先。

我在 Internet 上找到的很多将 find_in_set 函数模拟到 SQL Server 中的内容都假定层次结构的固定深度(例如最多 4 级)对我不起作用。

有没有人有存储过程或任何我可以集成到查询中的东西?我真的不想从这个表中提取所有记录来使用代码来单独解析 CSV 字符串。

我想在 locationHierarchy 字符串中搜索 locationID% 或 %,{locationid},% 会起作用,但速度很慢。