sql 如何查询表的第三列,或者说如何遍历判断一个表的列。

好可惜,sql对于列的遍历操作弱爆了,当一个表中有很多列时,select后面都要写列明来查询,想想都恐怖。难道就没有类似for语句可以用来遍历一个表的列吗 吗

第1个回答  2013-05-19
这个问题很简单了 肯定有了 给你一个语句 你可以在where里 加上任何一个表名 如果不加就是查询整个数据库里面的表 和游标 结合这个语句 就解决了楼主的问题
不明白的随时来问我 祝楼主学习愉快
select a.name 表名,b.name 列名 from sysobjects a join syscolumns b on a.id=b.id
where a.type='u'追问

高手,你很好的理解了我的问题,回答也是一阵见血
我也是觉得我这个问题要查询涉及到的关键词已经超出对单个数据库中表的查询了.像sysobject ,type='u'这些词都涉及到了数据库以上的层面.这些知识我还很陌生. qq479075557能否提供一些这方面的文档呢.如果愿意可以发到我这个邮箱里面.343181824@qq.com.
神级人物,再次膜拜!

追答

这样吧 我给你一个脚本 你研究研究 这个你整明白了 那你也很厉害了
发你qq邮箱了 请查收

本回答被提问者采纳
第2个回答  2013-05-19
select * from 表就是相当于把所有列展示出来了.
第3个回答  2013-05-19
用where语句啊,不就相当于遍历整列吗?
for语句是希望找到符合条件的嘛,那用where可以的。

sql 如何查询表的第三列,或者说如何遍历判断一个表的列。
这个问题很简单了 肯定有了 给你一个语句 你可以在where里 加上任何一个表名 如果不加就是查询整个数据库里面的表 和游标 结合这个语句 就解决了楼主的问题 不明白的随时来问我 祝楼主学习愉快 select a.name 表名,b.name 列名 from sysobjects a join syscolumns b on a.id=b.id where a...

SQL 得到表的 某行某列的值(如 表的第三行第一列的值)
要查询第一列比较麻烦,如果知道第一列的列名就容易一些。假设第一列的列名是col,并且表有主键id,那么查询第三行的第一列的值可以这么写:select top 1 col from tablename where id not in (select top 2 id from tablename)

如何根据数据库查询结果,确定动态显示的列。
按理可以用ds1.G(此行标题所在单元格的值)或者ds2.S(此行标题所在单元格的值).此行标题所在单元格的值,就是表1中该列的名称。但是不行。

sql数据中 怎么查询 一个库的所有表中含有123这个数字
是不是要遍历数据库呀 declare @str varchar(100)set @str='张三' --要搜索的字符串 declare @s varchar(8000)declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'')print ''select ['+a.name...

sql很多表中查一个字符串怎么查找
select distinct OBJECT_NAME(b.object_id) tablename,a.name from sys.columns a,sys.tables b where a.object_id = b.object_id order by tablename 能查出所有的表及列和他们的对应关系 然后放到表变量里去遍历查找吧,真没有什么好方法。

sql 如何查询一个数值在数据库的哪个表中?
任何一种关系型数据库都不可能用SQL语句实现这种查询,因为你不知道表名和列名。理论上用程序或存储过程遍历数据库中所有表和所有列,用表数×列数个SQL语句,可以实现你要的结果。不过有可能会查到很多表很多列都有匹配的数据行,如何确定哪张表哪列,就没有办法了。

SQL中如何遍历表并更新某个字段的值
update Table_A Set Field_1 = A.Field_1+B.Field_2 From Table_A A Inner Join Table_B B On A.xxx = B.xxx 说明如下 这是一个模式 on 后面的a.xxx 是Table_A的某个键 ,B.xxx 是Table_B的某个键。 A.xxx = B.xxx 这两个键的关系是主键与外键的关系,并且这两个键是1对...

sql语句,请问如何根据一个表一个字段内容查询另一个字段的内容
SELECT A.ID FROM SITE A,PATH B WHERE A.ID=B.ID

如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串...
这个不可能使用简单一个查询语句来实现这个功能。因为你的这个需要基本都是比一定逻辑的查询,实现起来有相当的难度。因为首先要确定有多少张表,每张表中有多少个字段,然后才能实现某个字段中的某条记录包含你所需要的这个特定的值。这仅仅是一个简单的思路,供参考。

怎样在sql2000的数据库里模糊查询某个字段是在那个表
最好加上那列的长度作为限制。select name from sysobjects where id = (select id from syscolumns where name = column1 and length = 50 )这样查询到的就是表的名称了,可能是多个。然后用下sql可以 select * from tab_name where column1 like '%zd1%'其中tab_name是第一条sql查询到的表名...

相似回答