问题标签 [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.
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'
造成了问题!感谢所有帮助以解决问题。
mysql - GROUP_CONCAT 和 FIND_IN_SET,多个连接
我想检索设置了某些过滤器的项目。例如,红色或蓝色且较小的列表项应仅返回项 apple。((红色(2)或蓝色(4))和小(5))=>苹果
我找到了 2 个解决方案,但在我看来,这两个解决方案都过于复杂。第一个解决方案在我看来更优雅,因为当我想添加另一个过滤器时AND
,它非常简单。而第二种解决方案将需要另一个JOIN
. 我希望我忽略了一些东西,并且有一个比这个更好的解决方案。
这些问题,
- 有更好的解决方案吗?
- 如果没有更好的解决方案 - 哪个更快/推荐?
项目表
过滤表
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
mysql - 如何在 MySQL 列数组中查找 id
公司表结构:
列中的数字members
是添加到该公司的用户 ID。
当用户id = 3 OR 52 OR 134 OR 21
登录时,上面的行应该返回一个 MySQL 查询。
这可以通过查询实现还是我必须编辑我的表结构?
mysql - IN 运算符不使用字符串值
我正在使用以下查询从我的表中过滤记录:
即使我在teaching_locations
列的表中存储了以下值,它也会返回一个空结果:newyork,Salt Lake City,los angeles
.
我尝试过使用其他值,并且除了中间有空格的值之外,它与其他值都可以正常工作。例如,如果列值为“ newyork
”,则查询工作正常。
mysql - MySQL Select 查询以根据列表值获取记录
我正在使用 MySQL。我有 3 表如下。
表:subject_Master
表:class_Master
表:主题分配
我如何获得如下 SQL 结果,想要获取 subjectAllocation 行中每个 subjectId 的 SubjectName
mysql - FIND IN SET 不适用于 PDO
我在使用 mysql 的 FIND_IN_SET 和 pdo 时遇到问题。这是我的代码:
这不会产生任何结果。难道我做错了什么?谢谢!
postgresql - mysql FIND_IN_SET 相当于 postgresql
请告诉我相当于预定义或用户定义的 postgresql 函数
ios - FMDB 数据库查询 IOS FIND_IN_SET()
我在 IOS 中使用 FMDB 数据库。在我的数据库中,我有一列称为标签。标签列有一个逗号分隔的值,如apple,banana,
. 我想要Title
我的关键字匹配的列。我想知道如何在表格列中搜索逗号分隔值请帮助。
mysql - MySQL 多个结果,在一组值中查找
我需要获取多行文章,其中文章 ID 在下面的列表中。(在字符串列表中)
如何正确地做到这一点?
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},% 会起作用,但速度很慢。