表结构如下
ID AID PID
1 3,5,15,23 3,15
2 5,12,16,21 5,12
3 2,16,9,5,31 31
4 15,25,8,9,7 15,9现要求查询AID中包含同时PID中不包含某个数字的所有记录。
例如要查询包含 5 的记录,要得到如下结果:
ID AID PID
1 3,5,15,23 3,15
3 2,16,9,5,31 31只能针对 5 ,对15、25等数据中包含的 5 要忽略
ID AID PID
1 3,5,15,23 3,15
2 5,12,16,21 5,12
3 2,16,9,5,31 31
4 15,25,8,9,7 15,9现要求查询AID中包含同时PID中不包含某个数字的所有记录。
例如要查询包含 5 的记录,要得到如下结果:
ID AID PID
1 3,5,15,23 3,15
3 2,16,9,5,31 31只能针对 5 ,对15、25等数据中包含的 5 要忽略
解决方案 »
- 急求!!SQL2008,数据库报表制作的相关资料
- 如何查出一个时间段内的数据
- WIN7 在长日期格式下,SQL Server 2005 的日期字段内容显示乱码。
- 情解释在JDBC和ODBC中下列操作如何进行?(请举T-SQL例子)(学生)
- 以下功能的sql怎么写啊, 想了一天了, 请各位帮忙!
- sql 2000 如何讓一字段等于另外两个日期字段的天数差
- 优化sql语句
- 在SQL SERVER 2003 用代码导出xls文件不成功
- 关于聚合函数
- 请教:一个语句怎么写?
- 如何进行【相似查询】 ? 比如查 ABC-1, 可以查到相关的产品ABC-2, AB-3
- SQL服务器中可以定时触发执行一个SQL语句的吗?
insert @t select
1 ,'3,5,15,23', '3,15' union all select
2 ,'5,12,16,21', '5,12' union all select
3 ,'2,16,9,5,31', '31' union all select
4 ,'15,25,8,9,7', '15,9'select * from @t where charindex(',5,',','+AID+',')>0 and charindex(',5,',','+PID+',')=0
/*
結果:
ID AID PID
----------- -------------------- --------------------
1 3,5,15,23 3,15
3 2,16,9,5,31 31
*/