怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据

怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据,第1张

select from accuont where VIP = 1 \x0d\//上面的1 是在你表中的类型数字类型的时候\x0d\select from accuont where VIP='1'\x0d\//上面的1 是在你表中的类型为非数字类型的时候\x0d\第一个:查询下拉框的选项\x0d\select aName,aID form TBMenu a where aIsUsed=1\x0d\查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询\x0d\在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。\x0d\第二个:根据选择的菜单查询需要的信息\x0d\select from Infomations a where aMenuID=ID(选择下拉框选项对应的ID值)\x0d\在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。\x0d\这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。

CREATE  PROCEDURE gettableinfo 

/@TableName varchar(32)/

AS

   

/创建临时表/

create table #TableFields(

  tableName   varchar(32),

  fieldname   varchar(32),

  fieldtype   varchar(32),

  fieldlength varchar(32),

  scale       varchar(32),

  des         varchar(256), 

  defaultvalue varchar(32),

  CanNULL varchar(32)

)

/ 声明游标/ 

declare table_cur scroll cursor

for select sysobjectsname from sysobjects where sysobjectsxtype = 'U'

for update of sysobjectsname

/声明临时表名/

declare @TName varchar(32)

/ 打开游标/

open table_cur

fetch next from table_cur into @TName

while @@fetch_status=0 begin

      SELECT sysobjectsname AS tableName, syscolumnsname AS filedname, 

      systypesname AS fieldtype, syscolumnslength, 

      syscolumnsscale

   into #FiledInfo_Master

   FROM syscolumns INNER JOIN

      systypes ON syscolumnsxtype = systypesxtype INNER JOIN

      sysobjects ON syscolumnsid = sysobjectsid

WHERE (sysobjectsxtype = 'U') AND (systypesname <> 'sysname') and   sysobjectsname=@TName

     /得到字段描述/

     SELECT objname as filedname ,value   into  #FiledInfo

     FROM ::fn_listextendedproperty('MS_Description', 'user',

       'dbo', 'table', @TName, 

      'column', DEFAULT) 

      

      

/得到字段缺省值/

  SELECT objname  as filedname, value as defaultvalue 

  into  #FiledInfo2

  FROM ::fn_listextendedproperty('DefaultValue', 'user',

       'dbo', 'table', @TName, 

      'column', DEFAULT) 

      

/得到字段是否可为空/

SELECT objname  as filedname, value as CanNULL 

  into  #FiledInfo3

  FROM ::fn_listextendedproperty('MS_AllowBlanks', 'user',

       'dbo', 'table', @TName, 

      'column', DEFAULT) 

      

      

      

/联结字段描述和属性/      

insert into #TableFields

SELECT cast(#FiledInfo_MastertableName as varchar(32)) ,

      cast(#FiledInfo_Masterfiledname as  varchar(32)),

      cast(#FiledInfo_Masterfieldtype  as varchar(32)), 

      cast(#FiledInfo_Masterlength as  varchar(32)),

      cast(#FiledInfo_Masterscale as  varchar(32)),

      cast(#FiledInfo[value] as  varchar(256)), 

      cast(#FiledInfo2defaultvalue  as varchar(32)),

      cast(#FiledInfo3CanNULL  as  varchar(32))

      

FROM dbo#FiledInfo_Master LEFT OUTER JOIN

      dbo#FiledInfo ON dbo#FiledInfo_Masterfiledname = dbo#FiledInfoFiledName

     LEFT OUTER JOIN dbo#FiledInfo2

       ON dbo#FiledInfo_Masterfiledname = dbo#FiledInfo2FiledName

LEFT OUTER JOIN dbo#FiledInfo3

       ON dbo#FiledInfo_Masterfiledname = dbo#FiledInfo3FiledName

where 

#FiledInfo_Mastertablename=@TName 

fetch next from table_cur into @TName  

--if exists (select  from dbosysobjects where id = object_id(N'#FiledInfo_Master') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table #FiledInfo_Master

--if exists (select  from dbosysobjects where id = object_id(N'#FiledInfo') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table #FiledInfo

--if exists (select  from dbosysobjects where id = object_id(N'#FiledInfo2') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table #FiledInfo2

drop table #FiledInfo3       

end

select  from #TableFields

deallocate table_cur

GO

SET QUOTED_IDENTIFIER OFF 

GO

SET ANSI_NULLS ON 

GO

SELECT 上课日期, 上课节数

FROM 你的表

WHERE 任课教师编号 = 600

或者

SELECT 上课日期, 上课节数

FROM 你的表

WHERE 任课教师编号 = '600'

区别在于任课教师的编号

一条记录时采用以下方法:使用PATINDEX函数找出字符串中第一次出现数字的位置

declare @aa varchar(80),----INFO列

@bb varchar(80)

set @aa ='你好12按时地方'

set @bb=''

while PATINDEX('%[0-9]%',@aa)<>0 /每次循环找出一个数字/

begin

set @bb = @bb+substring(@aa,PATINDEX('%[0-9]%',@aa),1)/把找出来的数字进行相加/

set @aa=substring(@aa,1,PATINDEX('%[0-9]%',@aa)-1)+

substring(@aa,PATINDEX('%[0-9]%',@aa)+1,len(@aa)-PATINDEX('%[0- 9]%',@aa)) /把找出来的数字从原先的字符串中踢除出来,然后再循环找出更多的数字/

end

select @bb/要求得到的结果/

要对一张表中的所有记录进行查询时,可以把上面的语句改写成一个存储过程,采用游标进行处理,并把找出来的记录插入到相应的虚拟表里面,即可得到你想要的结果

select from accuont where VIP = 1

//上面的1 是在你表中的类型为数字类型的时候

select from accuont where VIP='1'

//上面的1 是在你表中的类型为非数字类型的时候

第一个:查询下拉框的选项

select aName,aID form TBMenu a where aIsUsed=1

查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询

在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。

第二个:根据选择的菜单查询需要的信息

select from Infomations a where aMenuID=ID(选择下拉框选项对应的ID值)

在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。

这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。

比如:

cc列如下:

xxx

vvv

bbbb

ccc

xxx

想只要显示

xxx

vvv

bbbb

ccc

解决方法如下:

如果得到所有值不重复。

select cc from tablename group by cc

select distinct cc form tablename

如果得到没有重复的所有制,

select cc from tablename group by cc

minus

select cc

from(

select cc,count() from tablename group by cc having count()>1) A

以上就是关于怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据全部的内容,包括:怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据、sql server怎样 获得某列的 数据类型、sql语言 选取符合条件的某一行某一列的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9794159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存