一个投票可以有多个选项,现在想返回一对一的 投票的id 和 选项数量 和 投票人id,
投票表 voteid
1
2选项表 sId voteid item
1 1 A
2 1 B
3 1 C
4 2 A
5 2 B用户选项表 usid userid sid
1 1 2
2 1 3
3 1 4
4 1 5
返回 投票的id 选项数量 投票人id
1 3 1
2 2 1
投票表 voteid
1
2选项表 sId voteid item
1 1 A
2 1 B
3 1 C
4 2 A
5 2 B用户选项表 usid userid sid
1 1 2
2 1 3
3 1 4
4 1 5
返回 投票的id 选项数量 投票人id
1 3 1
2 2 1
解决方案 »
- 怎么将一个表的一列数据插入到另一表中!!!
- 关于Pivot的问题,在线等~
- 求SQL算法
- 如何创建一个 SQL Server 身份验证 如何 将 SQL Server 的验证模式设置为“混合模式"
- 如何获取本地的SqlServer服务器实例名的列表?
- 有关异机数据库备份问题
- 100分,高手帮优化一下SQL语句..急急...
- 后缀为.sql的文件的恢复
- 帮我想个好的数据库解决办法吧!
- SOS!求教关于SQLSERVER中列名无效的问题!初步论坛请多指教!
- 请问 sqlserver xml数据类型中,如何使用xquery给一个节点增加属性?内附sql语句。
- 如何用mdf文件连接SQLSERVER数据库
insert into 投票表 values(1)
insert into 投票表 values(2)
create table 选项表(sId int,voteid int,item varchar(10))
insert into 选项表 values(1 ,1, 'A')
insert into 选项表 values(2 ,1, 'B')
insert into 选项表 values(3 ,1, 'C')
insert into 选项表 values(4 ,2, 'A')
insert into 选项表 values(5 ,2, 'B')
create table 用户选项表(usid int,userid int,sid int)
insert into 用户选项表 values(1, 1 ,2)
insert into 用户选项表 values(2, 1 ,3)
insert into 用户选项表 values(3, 1 ,4)
insert into 用户选项表 values(4, 1 ,5)
goselect t1.* , t2.投票人id from
(
select m.voteid 投票的id,
count(1) 选项数量
from 投票表 m , 选项表 n
where m.voteid = n.voteid group by m.voteid
) t1,
(
select m.voteid 投票的id,
min(n.userid) 投票人id
from 选项表 m,用户选项表 n
where m.sid = n.sid group by m.voteid
) t2
where t1.投票的id = t2.投票的iddrop table 投票表 ,选项表,用户选项表/*
投票的id 选项数量 投票人id
----------- ----------- -----------
1 3 1
2 2 1(所影响的行数为 2 行)
*/