求一模糊查询语句!谢谢!

blf19821013 2009-08-31 06:45:05
正做站内搜索,在search.aspx页面接收从首页传来的值key,对名称列进行模糊查询.请各位帮忙解决下,都折腾了两小时了!

问题一:
求各位帮写一模糊查询语句,谢谢!

两个表Table_chanpin,Table_chanpin2.
字段都一样,
ID int型;
名称 nvarchar(50)
产品简介 nvarchar(max)
图片名称 nvarchar(50)
上传时间 datetime
photoinfo nvarchar(max)
下面是我写的语句,查询的不准确.而且似乎没有删除重复行啊.
string sqlstr = "select distinct a.名称,b.名称,a.ID,b.ID,a.上传时间,b.上传时间,a.photoinfo,b.photoinfo from Table_chanpin a, Table_chanpin2 b where a.名称 like '%" + key + "%' or b.名称 like '%" + key + "%'";


问题二:
我用下面这个查询语句的时候,报错了,提示:"无法解决 UNION 操作中 "Chinese_PRC_CI_AS" 和 "SQL_Latin1_General_CP1_CI_AS" 之间的排序规则冲突。"
我的数据库用的都是Chinese_PRC_CI_AS规则,没用到另外一种啊,怎么会冲突呢?请教!

string sqlstr = "select * from Table_chanpin union select * from Table_chanpin2 where 名称 like '%" + key + "%'";
...全文
224 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
t240034137 2009-09-01
  • 打赏
  • 举报
回复
回家没网络。。。。。。。。。今天早上才看见 是一个ASP.NET的问题!
  • 打赏
  • 举报
回复
来晚了,不过我对楼主解决 "Chinese_PRC_CI_AS" 和 "SQL_Latin1_General_CP1_CI_AS" 之间的排序规则冲突。" 这个问题蛮感兴趣的
xupeihuagudulei 2009-09-01
  • 打赏
  • 举报
回复
晚上扫帖
blf19821013 2009-08-31
  • 打赏
  • 举报
回复
恩,刚测试了下,通过了,谢谢各位帮忙啊,尤其是小爱.
华夏小卒 2009-08-31
  • 打赏
  • 举报
回复



declare @Table_chanpin table( ID int,名称 varchar(20),上传时间 datetime, photoinfo varchar(20))
insert @Table_chanpin select
1 , '散热器' , '2009-8-17', '好用' union all select
2 , '隔膜阀' , '2009-8-17' , '真好用' union all select
3 , '配液罐' , '2009-8-17' , '真好用' union all select
4 , '止回阀', '2009-8-17' , '卫生级'

declare @key varchar(20)
set @key='阀'

select * from @Table_chanpin where 名称 like '%'+@key+'%'

ID 名称 上传时间 photoinfo
----------- -------------------- ----------------------- --------------------
2 隔膜阀 2009-08-17 00:00:00.000 真好用
4 止回阀 2009-08-17 00:00:00.000 卫生级

(2 行受影响)
黄_瓜 2009-08-31
  • 打赏
  • 举报
回复
想要什么结果?
--> 测试数据:[ta]
if object_id('[ta]') is not null drop table [ta]
go
create table [ta]([ID] int,[名称] varchar(6),[上传时间] datetime,[photoinfo] varchar(6))
insert [ta]
select 1,'散热器','2009-8-17','好用' union all
select 2,'隔膜阀','2009-8-17','真好用' union all
select 3,'配液罐','2009-8-17','真好用' union all
select 4,'止回阀','2009-8-17','卫生级'

select * from [ta]
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([ID] int,[名称] varchar(10),[上传时间] datetime,[photoinfo] varchar(6))
insert [tb]
select 1,'纯水罐','2009-8-17','好用' union all
select 2,'球形浓缩罐','2009-8-17','真好用' union all
select 3,'呼吸器','2009-8-17','真好用' union all
select 4,'酒精回收塔','2009-8-17','卫生级'
----------------查询开始---------------------
select * from [ta] a where a.名称 like '%罐%'
union all
select * from [tb] b where b.名称 like '%罐%'
/*
ID 名称 上传时间 photoinfo
----------- ---------- ----------------------- ---------
3 配液罐 2009-08-17 00:00:00.000 真好用
1 纯水罐 2009-08-17 00:00:00.000 好用
2 球形浓缩罐 2009-08-17 00:00:00.000 真好用

(3 行受影响)


*/
blf19821013 2009-08-31
  • 打赏
  • 举报
回复
我想对两个表进行模糊查询,比如说查询关键字带"阀"字的,只显示 隔膜阀和止回阀,但我用上面的查询语句得不到我想要的结果,而是出来好多无关的.

Table_chanpin表:
ID 名称 上传时间 photoinfo
1 散热器 2009-8-17 好用
2 隔膜阀 2009-8-17 真好用
3 配液罐 2009-8-17 真好用
4 止回阀 2009-8-17 卫生级


Table_chanpin2
ID 名称 上传时间 photoinfo
1 纯水罐 2009-8-17 好用
2 球形浓缩罐 2009-8-17 真好用
3 呼吸器 2009-8-17 真好用
4 酒精回收塔 2009-8-17 卫生级
guguda2008 2009-08-31
  • 打赏
  • 举报
回复
答题基本靠猜,大家加油
SQL77 2009-08-31
  • 打赏
  • 举报
回复
EXEC('select distinct a.名称,b.名称,a.ID,b.ID,a.上传时间,b.上传时间,a.photoinfo,b.photoinfo from Table_chanpin a, Table_chanpin2 b where a.名称 like ''%' + [key] + '%'' or b.名称 like ''%' + [key] + '%''')

要不然改成动态试试?????
SQL77 2009-08-31
  • 打赏
  • 举报
回复
"select distinct a.名称,b.名称,a.ID,b.ID,a.上传时间,b.上传时间,a.photoinfo,b.photoinfo from Table_chanpin a, Table_chanpin2 b where a.名称 like '%'" + key + "'%' or b.名称 like '%'" + key + "'%'";
]

要不然楼主改成CHARINDEX
SQL77 2009-08-31
  • 打赏
  • 举报
回复
"select distinct a.名称,b.名称,a.ID,b.ID,a.上传时间,b.上传时间,a.photoinfo,b.photoinfo from Table_chanpin a, Table_chanpin2 b where a.名称 like '%"' + key + '"%' or b.名称 like '%"' + key + '"%'"; 
???
blf19821013 2009-08-31
  • 打赏
  • 举报
回复

小爱的意思是把数据表做个截图传上来??是这样给出数据吧?
我比较弱啊.
华夏小卒 2009-08-31
  • 打赏
  • 举报
回复
把sqlstr 显示出来,看看,就知道问题在哪了
黄_瓜 2009-08-31
  • 打赏
  • 举报
回复
给出数据和想要的结果
blf19821013 2009-08-31
  • 打赏
  • 举报
回复
不好意思啊,刚回来看帖子.
第二个问题已经解决了,第一个表有几个列的排序规则跟数据库默认的设置不一样,我刚改过来了.但第一个问题还是没成功,下面是我刚用的模糊查询语句.

string sqlstr = "select * from Table_chanpin union select * from Table_chanpin2 where 名称 like '%" + key + "%'";
黄_瓜 2009-08-31
  • 打赏
  • 举报
回复
楼主在不?
华夏小卒 2009-08-31
  • 打赏
  • 举报
回复
key 是变量?

在报错之前,把sqlstr 显示出来,看看,就知道问题在哪了
fanzhouqi 2009-08-31
  • 打赏
  • 举报
回复
string sqlstr = "select distinct a.名称,b.名称,a.ID,b.ID,a.上传时间,b.上传时间,a.photoinfo,b.photoinfo from Table_chanpin a, Table_chanpin2 b where a.名称 like '%" + key + "%' or b.名称 like '%" + key + "%'"; 

在语法上,没看出错误
黄_瓜 2009-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 blf19821013 的回复:]
是下面这样吧?刚试了下,不行.

string sqlstr = "select * from Table_chanpin union select * from Table_chanpin2 where 名称 like '%" + key + "%' collate Chinese_PRC_CI_AS";
[/Quote]
你建的表都用了什么排序规则?
不行提示什么错误???
--小F-- 2009-08-31
  • 打赏
  • 举报
回复
楼主给点数据给我们
加载更多回复(4)
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.4M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! 一、主功能概述 1.shift+空格 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2.... 可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com
SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.7M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 本软件所有功能完全免费。非常大家的支持!!! 特色功能: (一) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (二) 自定义保存二进制数据内容成文件 (三) 查询结果可直接显示字段类型等信息,数据字典 本版本调整了: 1.贴粘到此列根据行自动添加 2.优化生成插入语句速度快好N倍 3.增加全选功能。结果增加直接导出EXCEL功能 一、主功能概述 1.F8,F9 内容自动填充 4.生成表字段以豆号分割 字段1,字段2....可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.数据库结构对齐,并自动数据对齐 17.数据库字典查询与支持导出EXCEL 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义
SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.7M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 本软件所有功能完全免费。非常大家的支持!!! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! (四) 自带远程桌面控制功能 (五) 自定义保存二进制数据内容成文件 (六) 查询结果可直接显示字段类型等信息 本版本调整了: 1. 启动程序更快 2. 加入远程桌面远程控制功能 3. 加入格式化JSON功能 4. 加入查询结果二进制内容导批量导出成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接导出查询结果到EXCEL 一、主功能概述 1.F8,F9 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2....可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 5.格式化JSON格式内容 联系方式:75934092@qq.com或可直接加QQ:75934092 510567321
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.4M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! V1.0.0.138 本版本调整了: 1. 汇总后,表头分组统计选择字段显示不正常 2. 汇总后,复制列名时复制不正常 3. 拖动语句编辑时,字体错位的问题 4. TOP查询时,进度不正确 5. 关联查询行数错误的问题 6. 数据库选项的排序问题 7. 临时记录的打开按钮位置 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接导出查询结果到EXCEL 一、主功能概述 1.shift+空格 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2.... 可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com 或可直接加QQ:75934092 510567321
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.7M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! (四) 自带远程桌面控制功能 (五) 自定义保存二进制数据内容成文件 (六) 查询结果可直接显示字段类型等信息 V2.0.0.0 本版本调整了: 1. 启动程序更快 2. 加入远程桌面远程控制功能 3. 加入格式化JSON功能 4. 加入查询结果二进制内容导批量导出成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接导出查询结果到EXCEL 一、主功能概述 1.F8,F9 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2....可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 5.格式化JSON格式内容 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com或可直接加QQ:75934092 510567321

22,302

社区成员

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

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