在你的查询条件里
SELECT * FROM add_final,planadmin where charindex(add_final.F27,'、'+planadmin.retwo+'、')>0 and add_final.pro_name = '方里镇野狐咀供水工程'
恒成立,所以结果当然是1
SELECT * FROM add_final,planadmin where charindex(add_final.F27,'、'+planadmin.retwo+'、')>0 and add_final.pro_name = '方里镇野狐咀供水工程'
恒成立,所以结果当然是1
解决方案 »
- sql server2000 avg函数 没有四舍五入问题
- 表的数据太多,怎样提高检索效率
- 报错:EXECUTE permission denied on object 'sp_sdidebug', database 'master', owner 'dbo'.调试的时候报错,不调是不会报错,怎么办呀?
- 有关查询的一些问题
- 统计报表的实现,百分求SQL语句
- FOX FOR DOS 25 版本 与SQL SERVER 2000 连接问题
- VB中,文本框如何跟SQL中的日期类型相关?
- 这个查询怎么写?
- MDX中有没有关于筛选的函数呢?
- sql server7中UPDATE触发器怎么写?
- 号码结存问题[select 语句]
- 一个sql语句 请求帮助
then 1 else 0 end as keyid from add_final where add_final.pro_name = '方里镇野狐咀供水工程'
这样的情况请下这句是有问题的。SELECT * 时会有以外数据,你可以改为add_final.F27,具体可以看下外连接,聚合的相关知识
方里镇野狐咀供水工程 方里镇野狐咀村 174 D130503 0
但是为何显示了:
方里镇野狐咀供水工程 方里镇野狐咀村 174 D130503 1
没必要用exist 用left join 更合理,判断时retwo is null 即为不存在 得值为1
then 1 else 0 end as keyid from add_final 加a where add_final.pro_name = '方里镇野狐咀供水工程' select a.*,case when (b.retwo is null then 0 else 1 end) as keyid
from add_final a
left join planadmin b on charindex(add_final.F27,'、'+planadmin.retwo+'、')>0
where a.pro_name = '方里镇野狐咀供水工程'
select a.*,case when b.retwo is null then 0 else 1 end as keyid
from add_final a
left join planadmin b on charindex(add_final.F27,'、'+planadmin.retwo+'、')>0
where a.pro_name = '方里镇野狐咀供水工程'