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

问题描述

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

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

解决方案

inner join查出来,每条都带有作者信息,需要你自己合并成前台需要的数据结构
或者,先查出作者,然后ajax去请求每个作者的作品,然后填充

解决方案二:

用如下sql语句进行查询就可以了,但是要换成你具体数据表中的字段select user.name,user.sex,works.name,works.type from user left join works on user.id = works.user_id、
这查出来的就是集合,你用list接收一下,展示出来就ok

解决方案三:

用join on连接

时间: 2025-01-28 07:32:41

mysql-SQL数据库一对多关系如何取出多条数据?的相关文章

sql 每隔2条数据取出1条数据

问题描述 sql 每隔2条数据取出1条数据 表名 user 需要查询出的字段 name 有数据自带的序号 现在要实现 每隔2条查询出1条数据 大神 你在哪里 select aa.* from (select ROW_NUMBER() over(order by t.pk_id)rnt.* from 表名 t )aa where right(convert(nvarchar(5)rn)1)='1' 我自己写了一个 但是老是提示 right 标识无效 解决方案 select aa.* from (s

oracle数据库中怎么一次性插入10万条数据

问题描述 oracle数据库中怎么一次性插入10万条数据 oracle数据库中怎么一次性插入10万条数据?急用!!!1 解决方案 最快的方法是用imp进行导入 或者用sql执行也可以(insert into )

查询-sql 未满足条件时再加一条数据

问题描述 sql 未满足条件时再加一条数据 有表aa : ID , PID 1 , 5 2 , 4 3 , 20 4 , 11 5 , 2 条件 PID<=10 就查询出前三条数据条件 PID<=6 就查询出前两条数据 要怎么写 解决方案 下面是oracle的,各个数据的取前2条和前三条关键字不一样,有些是top有些事limit,有些事rownum SELECT IDPID FROM AA WHERE PID<=10 AND ROWNUM<=3 UNION SELECT IDPID

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

问题描述 如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写? 将查询的的返回值为整型 参考用例 类似 以下方法查询政治类新闻人数 新手不知道该如何改动成自己需要的方法 public Map<String, Long> sumPolEntNews(){ //查询政治类新闻人数总和 String sql = "select count(*) from t_user where newsh ='政治类新闻' "; Map<String, Long> m

sql server 2000中循环插入100万条数据

server|插入|数据|循环 出处:∮明天去要饭's Blog         前段时间在测试100万条以上数据时的分页速度,需要往数据库中插入100万条记录,那个时候插入记录我是用C#写的,后来发现,其实用SQL自已也可以实现的,而且更简单哦!以下是我写的一个实例,很简单,大家应该能看懂的.         declare @i int  --变义变量@i        set @i = 1 --初始化@i为1        while @i < 100 --如果@i小于100,这里改成10

关于php操作mysql执行数据库查询的一些常用操作汇总_php技巧

php操作mysql步骤:1.$connect=mysql_connect('localhost','root','123456') or die('数据库连接失败.'mysql_error());链接mysql.2.mysql_select_db('database',$connect)选择链接的数据库.3.mysql_query('Set names gb2312');$sql = "select * from blog_article";准备要查询的数据.4.$datas = m

mysql如何随机抽取数据库里的几条数据

数据库连接这些就不贴代码了,直接粘贴sql语句:  代码如下 复制代码 SELECT `title` , `id` FROM news ORDER BY RAND( ) LIMIT 0 , 5; 随机从new表里取出5条数据,显示id和标题.  代码如下 复制代码 mysql> select username from cdb_members order by rand() limit 0,5; +-----------+ | username  | +-----------+ | Takesh

mysql sql语句大全

1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.说明:创建新表 cr

通过Windows Azure SQL数据库防火墙规则控制数据库访问

今天的文章来自于我们用户体验团队的技术作家Kumar Vivek.这篇文章对Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure SQL数据库中新推出的数据库级防火墙规则进行了简要概括. Windows Azure SQL数据库防火墙能够阻止他人对你SQL数据库的访问,以助你保护数据.你能够指定防火墙规则,如限定允许访问的IP地址范围,来控制对数据库的访问.然而,这些规则定义在服务器层级,允许被授权的终端访问你的