SQL数据库一对多关系如何取出多条数据?

现在有两张表,表一是users(用户表)表二是works(作品表)一个用户可以有多个作品,查询后显示结果如下,请问怎么查询?

直接在SQL中是没法这么个结构出来的,需要配合编程语言实现
1、先查询出用户列表,然后循环用户列表,再根据用户跟作品表的关联查询到每个用户的作品信息

2、分别查询出用户表和作品表中的所有数据,再根据用户和作品的关联字段进行数据的组合
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-26
SELECT * FROM
(SELECT 
--t.ID,
t.BigClass,
t.Num,
t.SmallClass,
t.[Content],
t.IsQuantization,
--t.DeptId,
--t.TargetValue,
--t.MinValue,
--t.StriveValue,
--t.Score,
--t.BelongToPeriod,
--t.QuantizationType,
--t.IndicatorSepDept,
--t.F_CreateDate,
--t.[Status]
dzir.*
,row=ROW_NUMBER() OVER(PARTITION BY t.ID ORDER BY dzir.CreateTime desc)
FROM

DK_ZB_DeptIndicator AS t
RIGHT JOIN 
DK_ZB_IndicatorReport AS dzir ON dzir.IndicatorsID = t.ID)   AS t WHERE  t.row = 1

DK_ZB_DeptIndicator 对应你的  user 表

DK_ZB_IndicatorReport 对应你的 作品表

第2个回答  2017-07-09
不是很明白你具体需要做什么,哪里有一对多的关系,取出什么样的数据?
第3个回答  2015-11-10
select * from user left join works on users.id = works.userid group by users.姓名
相似回答