sql如何实现1列模糊的商品名称匹配?

szlixiaolong 2018-04-24 10:49:16

如上,查询1个商品名称模糊出来的结果

通过SQL SERVER 语句实现可以查询多个模糊商品名称。
...全文
656 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
szlixiaolong 2018-04-25
  • 打赏
  • 举报
回复
引用 18 楼 sinat_28984567 的回复:
你能把问题描述清楚吗?想问问题就对自己负责点,别总是让别人猜你想要什么。你看上边的回帖你都说什么了?要测试数据给个excel表,1w条数据我们怎么处理,都导入到表中?结果是什么样的,你也没说,谁知道你想要什么?然后后来憋出来一个“两行写成一行的”,结果是什么样的也没说,这会儿又来了个“第6个词开始匹配”,这个前边一句也没提到过吧?想把问题搞清楚,首先得能描述清楚问题。 列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
感谢建议。
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 7 楼 sinat_28984567 的回复:
主要是测试数据和想要的结果,现在是不知道想要什么查询条件,你描述不清楚,只能通过数据和结果来试着写一下
不知在测试了吗
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 7 楼 sinat_28984567 的回复:
主要是测试数据和想要的结果,现在是不知道想要什么查询条件,你描述不清楚,只能通过数据和结果来试着写一下



通过一行SQL语句实现查询商品名称模糊的内容,




二月十六 2018-04-24
  • 打赏
  • 举报
回复
主要是测试数据和想要的结果,现在是不知道想要什么查询条件,你描述不清楚,只能通过数据和结果来试着写一下
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 5 楼 sinat_28984567 的回复:
要不然楼主列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
表结构如下: CREATE TABLE [sp] ( [ 货号] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品名称] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [条码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [附加条码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [助记码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品一级类别] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品类别] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [品牌] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [库存单位] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进货规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [配送规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [保质天数] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [产地] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [主供应商] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [经营方式] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [联营/代销扣率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进货价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [零售价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [配送价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [批发价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [会员价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品状态] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [计价方式] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进项税率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [销项税率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [毛利率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO
二月十六 2018-04-24
  • 打赏
  • 举报
回复
要不然楼主列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
二月十六 2018-04-24
  • 打赏
  • 举报
回复
对于未知的商品名称,实现模糊查询不了。 什么意思?不是名称模糊匹配多个关键字?
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 5 楼 sinat_28984567 的回复:
要不然楼主列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
测试数据下载地址:https://share.weiyun.com/5tpdueV
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
SELECT *
FROM sp
WHERE 商品名称 LIKE '%名称1%'
OR 商品名称 LIKE '%名称2%'
OR 商品名称 LIKE '%名称3%';






这是查询第二个模糊商品名称情况,我要实现查询多个类似的商品名称情况,谢谢。
二月十六 2018-04-24
  • 打赏
  • 举报
回复
SELECT *
FROM sp
WHERE 商品名称 LIKE '%名称1%'
      OR 商品名称 LIKE '%名称2%'
      OR 商品名称 LIKE '%名称3%';
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:


你好,对于未知的商品名称,实现模糊查询不了。

SELECT *
FROM sp
WHERE 商品名称 LIKE '%名称1%'
      OR 商品名称 LIKE '%名称2%'
      OR 商品名称 LIKE '%名称3%';
CREATE TABLE [sp] ( [ 货号] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品名称] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [条码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [附加条码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [助记码] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品一级类别] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品类别] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [品牌] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [库存单位] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进货规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [配送规格] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [保质天数] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [产地] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [主供应商] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [经营方式] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [联营/代销扣率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进货价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [零售价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [配送价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [批发价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [会员价] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [商品状态] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [计价方式] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [进项税率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [销项税率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL , [毛利率] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO
二月十六 2018-04-24
  • 打赏
  • 举报
回复
你能把问题描述清楚吗?想问问题就对自己负责点,别总是让别人猜你想要什么。你看上边的回帖你都说什么了?要测试数据给个excel表,1w条数据我们怎么处理,都导入到表中?结果是什么样的,你也没说,谁知道你想要什么?然后后来憋出来一个“两行写成一行的”,结果是什么样的也没说,这会儿又来了个“第6个词开始匹配”,这个前边一句也没提到过吧?想把问题搞清楚,首先得能描述清楚问题。 列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
从第6个词开始匹配相同的商品名称呢
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
你写的语句,大家都会写。
二月十六 2018-04-24
  • 打赏
  • 举报
回复
引用 14 楼 szlixiaolong 的回复:
商品太多了,你也看了,不知道到底是哪些有这样的情况?
模糊匹配那下关键字你总得知道吧?不然这些关键字是怎么来的?
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
商品太多了,你也看了,不知道到底是哪些有这样的情况?
szlixiaolong 2018-04-24
  • 打赏
  • 举报
回复
引用 11 楼 sinat_28984567 的回复:
SELECT *
FROM sp
WHERE 商品名称 LIKE '%伊利每益添活性乳酸菌%'
      OR 商品名称 LIKE '%益力多乳酸%'
其他模糊商品名称怎么查询?
二月十六 2018-04-24
  • 打赏
  • 举报
回复
引用 12 楼 szlixiaolong 的回复:
[quote=引用 11 楼 sinat_28984567 的回复:]
SELECT *
FROM sp
WHERE 商品名称 LIKE '%伊利每益添活性乳酸菌%'
      OR 商品名称 LIKE '%益力多乳酸%'
其他模糊商品名称怎么查询?[/quote] 和这个一样。
二月十六 2018-04-24
  • 打赏
  • 举报
回复
SELECT *
FROM sp
WHERE 商品名称 LIKE '%伊利每益添活性乳酸菌%'
      OR 商品名称 LIKE '%益力多乳酸%'

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧