标题:大家看一下,这个 SQL 语句怎么修改!
只看楼主
tanxiaobin
Rank: 2
等 级:论坛游民
威 望:4
帖 子:20
专家分:41
注 册:2014-9-22
得分:0 
回复 10 楼 liudetao
那只能说明你的(select tablename from mpdb_fldinf where fldname='地籍号')要不就是空表,要不就是里面没有以660610%开头的数据
2014-11-06 15:37
liudetao
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-11-3
得分:0 
回复 11 楼 tanxiaobin
这个语句没有问题,我单独查询时,结果是MA33,这个是一个表格!
(select tablename from mpdb_fldinf where fldname='地籍号')这句代码就是为了求出这个表格,这个表格在SQL中是有的,但每次不回定,但这个语句就可以准确的求出(select tablename from mpdb_fldinf where fldname='地籍号')!


其实我的意思是,利用这个语句(select tablename from mpdb_fldinf where fldname='地籍号')得出一个表,如表的名字叫MA33,而且这个表在数据库是存在的,然后再利用后面的语句select 地籍号1 from MA33 where 地籍号1 like'660610%' ORDER BY 地籍号1 从这个MA33表格查询相应的结果!!我是这个意思,可能是我前面没有把意思表达清楚!!







[ 本帖最后由 liudetao 于 2014-11-6 17:42 编辑 ]
2014-11-06 17:09
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用tanxiaobin在2014-11-6 14:17:01的发言:

oo。。。是漏了点东西,再试试
 
 
select 地籍号1 from (select tablename as 地籍号1 from mpdb_fldinf where fldname='地籍号')a where 地籍号1 like'660610%' ORDER BY 地籍号1
select 地籍号1 from (select tablename as 地籍号1 from mpdb_fldinf where fldname='地籍号')a where 地籍号1 like '660610%' ORDER BY 地籍号1
like后应有一个空格
2014-11-06 17:47
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
回复 12 楼 liudetao
上传少量数据 帮你试试
2014-11-06 17:49
liudetao
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-11-3
得分:0 
回复 14 楼 tlliqi
[attach]77822[/attach]

按顺序,1、2、3,来看,你就会明白了!

[ 本帖最后由 liudetao 于 2014-11-6 18:06 编辑 ]
2014-11-06 18:04
tanxiaobin
Rank: 2
等 级:论坛游民
威 望:4
帖 子:20
专家分:41
注 册:2014-9-22
得分:0 
以下是引用liudetao在2014-11-6 17:09:21的发言:

这个语句没有问题,我单独查询时,结果是MA33,这个是一个表格!
(select tablename from mpdb_fldinf where fldname='地籍号')这句代码就是为了求出这个表格,这个表格在SQL中是有的,但每次不回定,但这个语句就可以准确的求出(select tablename from mpdb_fldinf where fldname='地籍号')!


其实我的意思是,利用这个语句(select tablename from mpdb_fldinf where fldname='地籍号')得出一个表,如表的名字叫MA33,而且这个表在数据库是存在的,然后再利用后面的语句select 地籍号1 from MA33 where 地籍号1 like'660610%' ORDER BY 地籍号1 从这个MA33表格查询相应的结果!!我是这个意思,可能是我前面没有把意思表达清楚!!


你这个(select tablename from mpdb_fldinf where fldname='地籍号')其实很奇怪,得出来的只是一张只有一个字段叫tablename的表。。。是不是,你确定你想筛选出来的地籍号就在tablename这个字段的内容里面?是不是你没把你要的字段从mpdb_fldinf里面选出来,很少看到有人特地先去生成一张只有一个字段的临时表的,是不是搞错了?。。。。。与其这样你还不如别去生成什么临时表了,直接用下面的语句

select tablename from mpdb_fldinf where fldname='地籍号' and tablename like'660610%' ORDER BY tablename

结果都是一样的,干嘛特定做一张只有一个字段的临时表然后再从里面筛选呢?
2014-11-06 19:58
tanxiaobin
Rank: 2
等 级:论坛游民
威 望:4
帖 子:20
专家分:41
注 册:2014-9-22
得分:0 
我觉得你是不是以为(select tablename from mpdb_fldinf)的意思是从mpdb_fldinf的库里面把一张叫tablename的表里面的所有内容展现出来吧。。。晕死。。
2014-11-06 20:05
liudetao
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-11-3
得分:0 
哎我都不知道怎么去表达了,这是我的联系方式,电话:15099150110,你拨一下,我回给你,我想我会说清楚的!
2014-11-06 23:57
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用tanxiaobin在2014-11-6 19:58:08的发言:

 
 
你这个(select tablename from mpdb_fldinf where fldname='地籍号')其实很奇怪,得出来的只是一张只有一个字段叫tablename的表。。。是不是,你确定你想筛选出来的地籍号就在tablename这个字段的内容里面?是不是你没把你要的字段从mpdb_fldinf里面选出来,很少看到有人特地先去生成一张只有一个字段的临时表的,是不是搞错了?。。。。。与其这样你还不如别去生成什么临时表了,直接用下面的语句
 
select tablename from mpdb_fldinf where fldname='地籍号' and tablename like'660610%' ORDER BY tablename
 
结果都是一样的,干嘛特定做一张只有一个字段的临时表然后再从里面筛选呢?
说的有道理
2014-11-07 13:44
liudetao
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-11-3
得分:0 
回复 17 楼 tanxiaobin

其实我的意思是这样的,我想根据这个语句select 地籍号1 from MA33 where 地籍号1 like'660610%' ORDER BY 地籍号1,检索出满足相应条件的地籍号1字段中的数据,这个执行时也是正确的,没有问题!!!

那为什么还要加上这句代码呢?select tablename from mpdb_fldinf where fldname='特别',是这样的,前面语句中的MA33,是一个表,而且实际存在,但这个表我们信息系统每次生成的名字都不一样,这次是MA33,下次可能是MA68,名字不固定,但数据结构都是一样,而且都有数据,那我每次检索出满足相应条件的地籍号1字段中的数据时,都要去修改语句中的MA33,很麻烦!但这个不固定名字的表,它的名称在后面语句中的mpdb_fldinf表中的tablename字段中存在,只要满足where fldname='特别'这个条件,就可查询出这个表名!!这样的话,我就不用每次都去修改这个语句select 地籍号1 from MA33 where 地籍号1 like'660610%' ORDER BY 地籍号1中的MA33表名了!!!

[ 本帖最后由 liudetao 于 2014-11-7 14:05 编辑 ]
2014-11-07 13:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438057-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.755101 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved