| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:[求助]关于SQL中列名(字段名)如何传递的问题
只看楼主 加入收藏
木木秋
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-12
收藏
 问题点数:0 回复次数:7 
[求助]关于SQL中列名(字段名)如何传递的问题
各位大虾:
小弟初学SQL,有一事不明.对于DBMS来说,我们打入的列名(字段名),它是如何识别的呢?
比如:
SELECT max_lvl
FROM jobs
GEOUP BY max_lvl

这里的 max_lvl 是列的名称,系统在处理查询时是怎么确定你要查询的列是 max_lvl 呢?是通过对所查询表的列的所有名称进行字符串比较吗?

我想在 ESQL-C 中向 SELECT或GROUP BY 语句处传递变量该怎么做?
比如:
想用SELECT语句选择经标准输入得到的列名。(我键入了一个列名,作为参数传递给SELECT语句,查询我想查询的列)

不胜感谢!
搜索更多相关主题的帖子: 字段名 SQL 列名 max lvl 
2007-01-16 09:41
yelang7
Rank: 1
等 级:新手上路
威 望:1
帖 子:265
专家分:0
注 册:2006-11-3
收藏
得分:0 

没有搞明白的问题,楼主你真是专的够深的呀,建议你先去看看SQL Server的运行机制的咯,找版主来解决下的呢?


想象和行动一致,做最棒的 IT 人. http://yelang7.
2007-01-16 10:19
木木秋
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-12
收藏
得分:0 

希望斑竹能给咱们解决一下!

2007-01-16 10:31
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

1.你选择一个列去group by他干什么? 如果是要去掉重复行用select distinct就好了
2.SQL是对表的字段名字做字符串比较来确定你是要选择哪些列的
3.给你一个示例

create proc pr_SelectExample
(
@FieldName varchar(20)
)

as

declare @SqlString varchar(100)
set @SqlString = 'Select '+@FieldName + 'from jobs '
exec (@SqlString)

GO

exec pr_SelectExample 'max_lvl'


2007-01-16 11:00
木木秋
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-12
收藏
得分:0 

楼上的大哥谢谢你,不过我希望知道的是在嵌入式SQL语言中,如何把宿主语言C语言中的变量作为字段名传递给SQL。比如说我定义了一个字符串 char c[]={"max_lvl"};如何把这个c作为SELECET语句的参数,SELECT c 肯定是不行了,用宏定义#define A max_lvl ,SELECT A 是可以的,但是宏不能作为变量使用,请教还有没有什么办法,谢谢!

2007-01-16 11:24
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
不明白了
c中难道不能带参数调用存储过程?只不过是把字符串赋给sqlcommand的参数

2007-01-16 12:06
木木秋
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-12
收藏
得分:0 

那让我试试看,不过我对SQL的存储过程不太了解.你在4楼写的程序我看了,是标准SQL吗?请麻烦你写一下原形好吗?谢谢你!

2007-01-16 15:03
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用木木秋在2007-1-16 9:41:55的发言:
各位大虾:
小弟初学SQL,有一事不明.对于DBMS来说,我们打入的列名(字段名),它是如何识别的呢?
比如:
SELECT max_lvl
FROM jobs
GEOUP BY max_lvl

这里的 max_lvl 是列的名称,系统在处理查询时是怎么确定你要查询的列是 max_lvl 呢?是通过对所查询表的列的所有名称进行字符串比较吗?

我想在 ESQL-C 中向 SELECT或GROUP BY 语句处传递变量该怎么做?
比如:
想用SELECT语句选择经标准输入得到的列名。(我键入了一个列名,作为参数传递给SELECT语句,查询我想查询的列)

不胜感谢!

我觉得你有必要去问一下开发数据库的那个集团,呵


飘过~~
2007-01-16 17:53
快速回复:[求助]关于SQL中列名(字段名)如何传递的问题
数据加载中...
 
   



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

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