表结构如下:
User 表,字段:id,name,sex,email,tell,address,pwd
file 表,字段:id,user_id,file_name,type,src,upload_time 两张表 ID 有主外键关系
(一张用来注册,一张用来存储上传文件信息的。注册后可以不上传,但要上传必须要注册)需求:
查询所有注册人数的详细信息还有上传作品的数量
User 表,字段:id,name,sex,email,tell,address,pwd
file 表,字段:id,user_id,file_name,type,src,upload_time 两张表 ID 有主外键关系
(一张用来注册,一张用来存储上传文件信息的。注册后可以不上传,但要上传必须要注册)需求:
查询所有注册人数的详细信息还有上传作品的数量
解决方案 »
- C++如何保存SQL中读出来的decimal类型?
- 一个关于子查询和外连接的作业题 好长时间没有搞定 请大家帮忙
- 求助一句SQL,谢谢!
- SQL高手看过来 用户同步问题
- 一般来说,表的字段数不能超过多少呀?(从设计规范而言,不是指可以容纳多少字段.)
- 请给我讲一下主键和外键,且在操作数据时有什么限制和约束,谢谢!
- 请问: 关于sql server2000中的系统表
- 求一个奇怪的SQL视图语句。个人认为相当复杂。
- 我用PB7.0 能不能联SQL SERVER 2000 数据库?如果不能应该安装补丁么?
- 大家帮我看一下以下一段存储过程出了什么问题?
- 数据库复制时没有主键的问题
- SQL中查找替换某字段中的某字符,并存入!急
FROM USER U
LEFT JOIN (SELECT USER_ID,COUNT(1) AS CNT FROM [FILE] GROUP BY USER_ID) F
ON U.ID=F.USER_ID
select count(1)as 上传文件数 from file
就这样?
FROM
[USER] AS A
LEFT JOIN
FILE AS B
ON A.ID=B.ID
FROM [User] T1
LEFT JOIN (
SELECT user_id,COUNT(*) 'TOTAL' FROM [file]
) T2 ON T1.ID=T2.USER_ID
FROM
[USER] AS A
LEFT JOIN
[FILE] AS B
ON A.ID=B.ID关系是怎么样的?
FROM [USER] U
LEFT JOIN (SELECT [USER_ID],COUNT(1) AS CNT FROM [FILE] GROUP BY [USER_ID]) F
ON U.[ID]=F.[USER_ID]
a.id,a.name,a.sex,a.email,a.tell,a.address,a.pwd ,count(1) as 上传作品的数量
from
[User] a
join
[file] b
on
a.id=b.id
group by
a.id,a.name,a.sex,a.email,a.tell,a.address,a.pwd
SELECT A.*,ISNULL(COUNT(B.[file_name]),0)AS 上传数量
FROM
[USER] AS A
LEFT JOIN
[FILE] AS B
ON A.ID=B.ID
GROUP BY a.id,a.name,a.sex,a.email,a.tell,a.address,a.pwd
a.id,a.name,a.sex,a.email,a.tell,a.address,a.pwd ,isnull(count(b.[file_name]),0) as 上传作品的数量
from
[User] a
join
[file] b
on
a.id=b.id
group by
a.id,a.name,a.sex,a.email,a.tell,a.address,a.pwd
我要查所有注册人员的信息,以及每个注册用户对应上传作品的数量
id name sex email tell address 上传作品数量
1 a 男 [email protected] 138 上海 0
2 b 男 [email protected] 138 上海 3
上传作品数量就是,user表中的ID在file表中对应的记录条数。
表的名字我随便写的,真正的数据库中 表名还会根据项目和时间有前缀的 dbo.cn_T_users ,dbo.cn_T_file ,字段也不止这些,我只是想知道解决方法。你的方法好像可以