0 0

查询表时,返回某一列,一列的多行返回一字符串的问题?用MYSQL数据库。5

各位高手:

    有表如下:

tTest(fID,fUserName,fBookName)


fID       fUserName           fBookName

1             张三               《邓论》

2             张三               《毛概》

3             张三               《马哲》

4             李四               《邓论》

5             李四               《政经》

6             王五               《毛概》

(各人的记录数是不定的)

请问能用一SQL达到如下效果吗?(不想用存储过程)


 
fUserName     fBookName


 张三            《邓论》,《毛概》,《马哲》

 李四            《邓论》,《政经》

 王五            《毛概》
2008年6月19日 16:54

5个答案 按时间排序 按投票排序

0 0

采纳的答案

select fID,fUserName,GROUP_CONCAT(CONCAT(fBookName,' '))
from tTest
group by fUserName

2008年6月19日 18:41
0 0

DB2 和Oracle 都没有这个函数, 要自己写了

2008年6月20日 14:23
0 0

楼上的只适用于mysql的啊..
db2和oracle的应该怎么做呢?

2008年6月20日 14:14
0 0

楼上的正解..

2008年6月20日 10:03
0 0

不知道诶...
在页面显示成这种效果就比较简单了..

2008年6月19日 17:25

相关推荐

    mysql复杂动态行转列解决方案

    当我们在处理数据时,有时会遇到需要将多行数据转换为一列的情况,这被称为“行转列”操作。在本篇中,我们将深入探讨如何在MySQL中解决复杂的动态行转列问题。 首先,我们要理解行转列的基本概念。在传统的SQL查询...

    MySQL C API mysql c api访问数据库实例

    `mysql_store_result()` 返回的结果集可以使用 `mysql_fetch_row()` 遍历,每一行数据都是一个字符串数组,对应于查询结果的列。注意,处理完结果集后记得调用 `mysql_free_result()` 来释放内存。 4. **插入和...

    数据库01MySQL数据库开发基础篇-mysql数据库编程开发实训(基础篇)

    ### MySQL数据库开发基础知识点详解 #### 一、MySQL基础知识概览 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),适用于多种应用场景,包括Web应用、企业级应用等。为了更好地掌握MySQL数据库开发,需要...

    一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)

    在数据库设计中,有时会遇到一种情况,即在主表中的一列用来存储多个关联ID,这些ID之间用逗号隔开,这种做法虽然不符合数据库的第一范式,但在某些场景下却被广泛采用。例如,员工可能属于多个部门,每个员工的记录...

    MySQL数据库系统及应用综合练习.docx

    21. 关系的定义:在关系数据库中,一个关系通常表示为一个二维表,包含多行多列的数据。 22. 数据库管理系统缩写:DBMS代表数据库管理系统。 23. 不是数据库表的基本运算:集合运算(如并集、交集、差集)不是...

    mysql数据库索引优化.doc

    以示例中的 `student` 表为例,如果没有为 `english` 列建立索引,那么查询所有英语成绩不及格的学生时,数据库将逐行检查 `english` 列的值,导致查询速度较慢。但如果为 `english` 列创建了索引,数据库可以直接...

    数据库期末复习(自用)-MySQL

    * 字符串类型:包括 char、varchar、tinytext、text、mediumtext 和 longtext 等。 * 日期时间类型:包括 date、time、year、datetime 和 timestamp 等。 三、SQL 语句 * 通用语法:SQL 语句可以单行或多行书写,...

    Mysql数据库学习

    ### MySQL数据库学习知识点详解 #### 一、MySQL基础 **1.1 如何安装和配置MySQL** - **安装过程:** - 对于不同的操作系统,MySQL的安装过程略有不同。通常,可以从MySQL官方网站下载适用于各自操作系统的安装包...

    11111111111111111111111111111111

    `,这是一条 DQL 语句,返回当前使用的数据库名称。 ### 5. 表的操作 - **创建表**:使用 `CREATE TABLE [IF NOT EXISTS] 表名 (列定义列表)`,其中 `[IF NOT EXISTS]` 表示如果表已存在则不创建新的。 - **删除表...

    C#实现读取Excel并将数据更新到Mysql数据库

    使用NPOI,你可以打开Excel文件,遍历工作表,读取每一行和每一列的数据。这可能涉及到对`HSSFWorkbook`或`XSSFWorkbook`(针对不同版本的Excel)对象的操作,以及`ISheet`、`IRow`和`ICell`等接口。 4. **数据...

    查询数据库mysql

    本文将深入探讨SQL查询的基本功能,尤其针对MySQL数据库的操作进行详细说明,包括但不限于数据的增删改查,以及一些高级查询技巧。 #### 数据库备份与恢复 1. **数据库完全备份**: - 使用`mysqldump`命令进行...

    mysql如何将多行数据合并成一行

    在MySQL数据库中,有时我们需要将具有相同分组标识的多行数据合并成一行,以便于数据分析和报告。这里,我们主要关注的是`GROUP_CONCAT`函数,它是一种非常实用的SQL聚合函数,能够帮助我们实现这个目标。下面,我们...

    MySql面试题.doc

    - GROUP_CONCAT(字段):将多行合并成一个字符串。 14. 模糊查询关键字? `LIKE`用于进行部分匹配。 15. `%`与`_`的区别? - `%`匹配0至多个字符。 - `_`匹配单个字符。 16. 去重关键字? `DISTINCT`用于去除...

    SQL合并一列

    实现“SQL合并一列”的主要方法有两种:使用`GROUP_CONCAT`函数(MySQL特有)或`STRING_AGG`函数(SQL Server 2017及以上版本),以及使用`FOR XML PATH`来构建字符串。这里我们将重点介绍第二种方法,即利用`FOR ...

    MySQL操作手册v1.0.pdf

    在多表查询方面,手册详细介绍了主键和外键的概念和作用,以及子查询的使用,包括返回单行单列、多行单列和多行多列的情况。备份与恢复是维护数据库数据安全的重要操作,在手册中也有所体现。同时,手册还指出了SQL...

    MysqlDLL,C#操作MYSQL数据库

    如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维...

Global site tag (gtag.js) - Google Analytics