应该算"嵌套查询"吗????

haojialu 2005-08-17 10:25:06
1 select * from A1 where B1 like 'm'

2 select * from A1 where B1 like 'n' and 'o'

前提是必须先根据1筛选,

再从1筛选得结果里进行2筛选,

否则就会出错,请问应该怎麽写?
...全文
150 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
studydotnet 2005-08-18
  • 打赏
  • 举报
回复
学习
skyfarwolf 2005-08-18
  • 打赏
  • 举报
回复
给你个思路,你自己试个看能不能达到你的目的:
select mytable.A
from mytable,mytable as T1,mytable as T2,mytable as T3
where
mytable.ID=T1.ID and T1.ID=T2.ID and T2.ID=T3.ID and
mytable.B in (select B from T1 where B like '%m%' ) and
mytable.B in (select B from T2 where B like '%n%' ) and
mytable.B in (select B from T3 where B like '%o%' )
singlepine 2005-08-18
  • 打赏
  • 举报
回复
dim tSQL as string = "select * from ziyuan where "
tsql=tsql & " guige in(select guige from ziyuan where guige like '%*%*%') "

tsql=tsql & " and left(guige,instr(guige,'*')-1) between "& strzyggh1 & " and " & strzyggh2 & ""
tsql=tsql &" and Mid(guige,InStr(guige,'*')+1 ,InStr(InStr(guige,'*')+1,guige,'*')-InStr(guige,'*')-1) "
tsql=tsql & " between " & strzyggk1 &" and " & strzyggk2 &""

tsql=tsql & " order by shijian DESC"


test
singlepine 2005-08-18
  • 打赏
  • 举报
回复
你用的是vb.net,还是c#
dim tSQL as string = "select * from ziyuan where " 这句是vb.net的
而tsql=tsql+" guige in(select guige from ziyuan where guige like '%*%*%') "里面的+又表明是c#

把+都换成&

lau_marco 2005-08-18
  • 打赏
  • 举报
回复
学习
xyunsh 2005-08-18
  • 打赏
  • 举报
回复
up
haojialu 2005-08-18
  • 打赏
  • 举报
回复
可能我说得不清楚,我把代码贴出来:

dim tSQL as string = "select * from ziyuan where "
tsql=tsql+" guige in(select guige from ziyuan where guige like '%*%*%') "


tsql=tsql+" and left(guige,instr(guige,'*')-1) between "+strzyggh1+" and "+strzyggh2+""
tsql=tsql+" and Mid(guige,InStr(guige,'*')+1 ,InStr(InStr(guige,'*')+1,guige,'*')-InStr(guige,'*')-1) "
tsql=tsql+" between "+strzyggk1+" and "+strzyggk2+""

tsql=tsql+" order by shijian DESC"

测试后提示:System.Data.OleDb.OleDbException: 无效的过程调用
haojialu 2005-08-18
  • 打赏
  • 举报
回复
select * from A1 where B1 like '%n%' and B1 like '%o%' and B1 in (select B1 from A1 where B1 like '%m%')
也不行啊,
只执行了B1 in (select B1 from A1 where B1 like '%m%'),
而 B1 like '%n%' and B1 like '%o%'没有执行
haojialu 2005-08-18
  • 打赏
  • 举报
回复
skyfarwolf(Computer) 得方法我试过得,绝对不行.我来试试 singlepine(小山) 得方法
haojialu 2005-08-18
  • 打赏
  • 举报
回复
提示 : +或者&其实都可以得
我用了个笨办法,如果为负值就用个OR 来个无厘头得条件,结果发现通过测试了
谢谢各位啦
skyfarwolf 2005-08-17
  • 打赏
  • 举报
回复
楼上正解,
这样应该也行
select * from A1 where B1 like '%n%' and B1 like '%o%' and B1 like '%m%'
singlepine 2005-08-17
  • 打赏
  • 举报
回复
select * from A1 where B1 like '%n%' and B1 like '%o%' and B1 in (select B1 from A1 where B1 like '%m%')
singlepine 2005-08-17
  • 打赏
  • 举报
回复
select * from A1 where B1 like 'n' and 'o'
本身就是错误的

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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