首先观察下面的查询 select * from company where f_id in ('210','205','208') select * from company where f_id in ('210,205,208') 现在我要根据另一张模板表中的一个字段查询他下面的公司,存的是字符串类型 这时 select * from company where f_id in (select company_id from templet where f_id=583) 只查询出一条数据,
1.TREE表: [strID] [int] IDENTITY(1,1) NOT NULL,[strName] [nvarchar](50) NOT NULL, 2.SubInfo CREATE TABLE [dbo].[SubInfo]( [SuBID] [int] NOT NULL, [SubTreeID] [nvarchar](max) NULL, SQL语句为: select a.strID,a.strName from Tree as a where exists(select * f
MSSQL中可以用STUFF函数拼接成字符串. 如: SELECT FieldSomeElse, ( SELECT STUFF(( SELECT ',' + LinkField FROM Detail WHERE Id = Main.Id FOR XML PATH('') ), , , '') ) AS LinkFieldString FROM Main
最终结果: 数据库表 A表: B表: 操作步骤 主要关键字:FIND_IN_SET.GROUP_CONCAT.LEFT JOIN.GROUP BY 第一步:left join 连接AB表并通过 find_in_set 关联其ID select us.id,us.name,us.hobbyId,hb.name hobby from hobby hb left join user us on find_in_set(hb.id,us.hobbyId) 结果:name 字段名称很多重复,做去重处理
1.说明 在做显示数据的时候,一个字段会存那种逗号分割的字符串,那如何去根据逗号分割字符串去查询另一个表的数据呢? 首先我们查看一下需要显示的数据 select * from company where f_id in ('','','') select * from company where f_id in ('210,205,208') 现在我要根据另一张模板表中的一个字段查询他下面的公司,存的是字符串类型 这时 select * from company where f_id in (s
Mysql 的 GROUP_CONCAT 函数默认将查询的结果用逗号拼接并返回一个字符串,如:李四,long,张三 1. 常用方式 select GROUP_CONCAT(user_name) userName from user where type = 1 2. GROUP_CONCAT 结合 IN 的使用 -- 查询指定id对应的name值,返回结果为 name7,name4,name2,name5 order by field(org_id,0,7,4,2,5)表示按照给定字段的顺
MySQL匹配指定字符串的查询 使用正则表达式查询时,正则表达式可以匹配字符串.当表中的记录包含这个字符串时,就可以将该记录查询出来.如果指定多个字符串时,需要用“|”符号隔开,只要匹配这些字符串中的任意一个即可查询出来. 实例1 从baike369表的name字段中查询包含“ic”的记录.SQL代码如下: SELECT * FROM baike369 WHERE name REGEXP 'ic'; 在DOS提示符窗口中查看name字段中查询包含“ic”的记录的操作效果.如下图所示: 上图中代码