分类专门用一个表,比如名为:ArtType
共两个字段:ID,TypeName
另一个表Art存放文章,其中有个字段为TypeName,数字型,存放ArtType里的ID
sql语句就这样写:select * from Art where ArtType=1
化学老师问:发现家里煤气泄漏怎么办?学生回答道:先点根烟静静。。。
select a.* ,b.个数 from (select count(id) as 个数,id from table group by id ) b, table a where a.id=b.id
这样就可以吧全部id的信息都查出来,并且在每条后面提示改id相同的信息有多少条,不是知道是不是你想要的效果,不是的话在追问吧
baidu、google是很好的学习搜索引擎,
推荐一下新手学习SQL的基础技术,在baidu搜索以下内容:
“一网打尽”通用SQL数据库的查询语句
实例讲解SQL Server中Update的用法
三种数据库利用SQL语句进行高效果分页
深入讲解SQL Server数据库的嵌套子查询
实现跨多个表格的数据进行组合的SQL语句
深入讲解SQL Union和Union All的使用方法
还有一些基本的语法这里也简单介绍一下,希望对你有用:
学习SQL应知道的动态SQL语句基本语法
1 、普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2、字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3、输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
此外,如果想要在SQL语句 字符串中使用 单引号 '' 可以 使用 ''''