精华内容
下载资源
问答
  • 问题描述:在开发中,需求:对一张含有个 产品代码的产品表,个产品代码对应2()个业务码,现在业务码122表示申购,124表示赎回,需将同一支产品的不同业务码对应的费率字段合并到同一条数据上显示。...

    问题描述:在开发中,需求:对一张含有多个 产品代码的产品表,一个产品代码对应2(多)个业务码,现在业务码122表示申购,124表示赎回,需将同一支产品的不同业务码对应的费率字段合并到同一条数据上显示。实际就是解决将数据列变数据行合并显示的问题。

    prd_code busin_code ... fee_rate
    110002 124   reebackfee
    110002 122   buyfee
    110003 122    

    需要 实现的效果:

    prd_code reebakfee buyfee busin_code
    110002 ... ... 122,124
    110003 ... ... 122,124
    110004 ... ... ...

    解决方案: 

    方法一:将该产品表【tbproduct 】用prd_code 字段拼接一遍,新表数据【 tbproduct  a,tbproduct  b】的同一行中,既含有busin_code='122' 又含有busin_code ='124' 的数据

    这样可实现多行数据同一行显示。

              select a.prd_code,a.busin_code,a.rate,b.busin_code,b.rate from tbproduct  a,tbproduct  b where a.prd_code = b.prd_code and a.busin_code = '122' and b.busin_code = '124';

    方法二:该方法适合ora 11以上的版本

    select a.prd_code,listagg(a.rate,',') within group (order by a.busin_code) ind,listagg(a.busin_code,',') within group (order by a.busin_code) ind  from tbproduct  a group by a.prd_code

    方法三:select t.prd_code,wm_concat(t.busin_code),wm_concat(t.rate) from tbproduct  t group by t.prd_code;

     

    【表名自行更换】

                        

    转载于:https://www.cnblogs.com/lahm/p/8553704.html

    展开全文
  • 处理某一列是逗号分割的多条数据,使其变成单独的一条条的数据。 SELECT DISTINCT REGEXP_SUBSTR(JGID, '[^,]+', 1, LEVEL, 'i') AS JGID FROM (SELECT JGID FROM BXQKKXXB WHERE ROWNUM<100)T CONNECT BY LEVEL...

    实测有效
    处理某一列是逗号分割的多条数据,使其变成单独的一条条的数据。

    SELECT DISTINCT REGEXP_SUBSTR(JGID, '[^,]+', 1, LEVEL, 'i') AS JGID
      FROM (SELECT JGID FROM BXQKKXXB  WHERE ROWNUM<100)T
    CONNECT BY LEVEL <=LENGTH(JGID) - LENGTH(REGEXP_REPLACE(JGID, ',', '')) + 1
    

    例如jgid=1,2,3,则变成jgid=1,jgid=2,jgid=3的样式。

    展开全文
  • 突然出现数据库明明自有一条数据,可是列表上面就是显示多条,删除其中一条就全部没有了。这种情况是由于多表关联时,关联表中的主键有多条信息,所以导致重复, 主要问题:查看表关联是否正确,左联右连, ...

    突然出现数据库明明自有一条数据,可是列表上面就是显示多条,删除其中一条就全部没有了。这种情况是由于多表关联时,关联表中的主键有多条信息,所以导致重复,

    主要问题:查看表关联是否正确,左联变右连,

    展开全文
  • 但是sqlite3还是给我们提供了很便利,我们可以通过只读取第一条数据方法来让数据库自己来维护这个id值,这样就是得了我们的代码精简了很,而且代码的可重入性也有了比较乐观的改善。 话不说上函数: #...

    当我在开发一个项目时,发现当数据库中存入了较多的信息时,我们要读每条数据然后处理删除时,我会用select 语句来逐一读取,但这样有个弊端就是我需要自己来维护这个id值,这样就是得代码变得更加复杂,可重入性大大降低。但是sqlite3还是给我们提供了很多便利,我们可以通过只读取第一条数据方法来让数据库自己来维护这个id值,这样就是得了我们的代码精简了很多,而且代码的可重入性也有了比较乐观的改善。

    话不多说上函数:

    #include "init_db.h"
    
    /* 创建数据库 */
    sqlite3 * sqlite_create();
    
    /*  将数据写入数据库 */
    int   write_db(sqlite3 *db, tlv_buf_t *tlv);
    
    /*  从数据库中删除已经发送成功的数据 */
    int   rm_tlvda_db(sqlite3 *db, int db_id);
    
    /*  从数据库中读取数据 */
    unsigned short read_db_data(sqlite3* db,s_db_data* s_data);
    
    /*  数据库的callback函数 */
    inline int   callback(void* para, int f_num, char ** f_value,char** f_name);
    
    sqlite3 * sqlite_create()
    {
        sqlite3*  db = NULL;
        const char*       sql_create = "create table if not exists temp(id integer PRIMARY KEY autoincrement,tlv_data blob)";
        if (access(DB_PATHNAME, F_OK) != 0)  //判断数据库文件是否存在
        {
            if (sqlite3_open(DB_PATHNAME, &db) != SQLITE_OK)
            {
                printf("Open sqlite error:%s\n", sqlite3_errmsg(db));
                return ;
            }
            else 
            {
                printf("Open sqlite success.\n");
            } 
            if (sqlite3_exec(db, sql_create, NULL, NULL, NULL)!= SQLITE_OK)
            {
                printf("Create table error:%s\n", sqlite3_errmsg(db));
                return ;
            }
        }
        if (sqlite3_open(DB_PATHNAME, &db) != SQLITE_OK) //数据库文件存在则直接打开数据库文件
        {
            printf("Open sqlite error:%s\n", sqlite3_errmsg(db));
            return ;
        }
    
        if (sqlite3_exec(db, sql_create, NULL, NULL, NULL)!= SQLITE_OK)	                 
        { 
            printf("Create table error:%s\n", sqlite3_errmsg(db));
            return ;
        }   
        return db;
    }
    
    int  write_into_db(sqlite3 *db, tlv_buf_t *tlv)
    {
        char             sql_insert[64] = {0};
        sqlite3_stmt  *stmt = NULL;
    
        memset(sql_insert, 0, 64);
        snprintf(sql_insert, 64, "insert into temp values(null,?);");
    
        sqlite3_prepare(db, sql_insert, strlen(sql_insert),&stmt,0);
        {
            sqlite3_bind_blob(stmt, 1, &tlv->buf, tlv->len,NULL);
            sqlite3_step(stmt);
        }
    
        sqlite3_finalize(stmt);
    
        return 0;
    }
    
    unsigned short read_db_data(sqlite3* db,s_db_data* s_data)
    {
    
        char sql_select[64]  = "select tlv_data from temp limit 1";
        char sql_id[64]  = "select * from temp limit 1";
        unsigned short first_id = -1;  //需要获取的id变量
        sqlite3_stmt      *pstmt = 0;
    
        if (sqlite3_exec(db, sql_select, callback, s_data, NULL)!= SQLITE_OK)
        {
            printf("select data from db error.\n");
            return -1;
        }
    
        if( (sqlite3_prepare(db, sql_id, strlen(sql_id), &pstmt, NULL)) != SQLITE_OK )
        {
            printf("sqlite3_prepare error ! \n");
            return -1;
        }
    
        sqlite3_step(pstmt);
    
        /*  读取整形数据 第一个数据的ID */
        first_id = sqlite3_column_int(pstmt,0);
    
        sqlite3_finalize(pstmt);
        return first_id;
    }
    
    /* 回调函数 */
    int callback(void* para, int f_num, char ** f_value,char** f_name)
    {
        s_db_data * db_da = (s_db_data* )para;
        memset(db_da->buf, 0, db_da->len);
        memcpy(&db_da->buf, *f_value, db_da->len);
        return 0;
    }
    
    /*  从数据库中删除已经发送成功的数据 */
    int rm_tlvda_db(sqlite3 *db, int db_id)
    {
    
        char sql[64] = {0};
        snprintf(sql,64,"delete from temp where id = %d",db_id);
        if (sqlite3_exec(db, sql,NULL, NULL, NULL)!= SQLITE_OK)
        {
    
            printf("rm db da error.\n");
        }
    }
    

     

    展开全文
  • 我现在有个表单需要存入数据库。但是客户要求该表单的 表头可。也就是他要自定义表单。这种情况我该怎么为这张表单设计表结构了?同时该表单中的所有字段都要参加计算的,有些项的值是其他项通过计算得出的。...
  • 1.数据库表结构 数据库表名station_quality_detail_info ...首先:思路,分析数据结构,发现表中有98,99这种数据的结构,可以考虑多行 3.sql预览 SELECT substring_index( substring_index( ...
  • JDBC实现次向Oracle数据库表中插入1千万条数据 说明:环境为eclipse + jdk1.7 所需jar包:ojdbc6-11.2.0.1.0.jar 亮点:使用PreparedStatement + addBatch()方法(实现了秒级的插入速度) 1、变多次提交为次 2、...
  • (说明:数据有37万,而且数据在不断增加。) 已做的优化: 1.已经加了索引和分页的查询优化。 2.纯sql查询,不存在数据库框架做的额外开销。 3.只查询需要的字段。 4.使用异步查询。 需求: 1.文字...
  • mongodb数据库一次性更新多个带有相同属性名的数据具体语法为运行后username值就全了刷新数据库 具体语法为 //更新单条 语法是:Article.updateOne({ 查询条件},{要修改的值}) //更新多条 语法是:Article....
  • 当我们从数据库读取数据返回到页面时,如果返回数据量很少,请求数也很少。是很快速的。但当请求量增大,数据量变多时。还是频繁的从数据库中读取数据就很慢了。...假设数据库中有100条数据。如图 我们用...
  • 个项目如果规划不合理,每天会产生很多条告警,导致查询速度慢。同时由于数据量过大可能会导致磁盘空间不够的情况。一般可以通过程序代码定时清理的方式来进行。 现在可以通过MySql的时间进行定时清理,让...
  • ANCL_DELIVERY表是乘客购买的票证,一...开发中会有一些需求一个ANCL_ORDER_ID对应一条数据,那么可使用 分组把TICKET_PROVE字段放到一个新的字段里 以某种字符分可开 代码如下  SELECT  L.ORDER_ID,  LISTAGG(TIC
  • 在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。...Select Into语句,他的作用就是把数据从另外数据库中查询出来,然后加入到某个用户指定的表中。 在使用这语句的时候,需要
  • :使用Select Into语句 若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。Select Into语句,他的作用就是把数据从另外数据库中查询出来,然后加入到某个用户指定...
  • 当需要从数据库查询的表有上万记录的时候,次性查询所有结果会得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很种方法和优化的点。 下面简单说一下我知道的一些...
  • 背景(mysql 数据在进行次删除新增之后id得很大,但是并没有那么多条数据) 写个存储过程更新mysql的主键id 话不说上代码 1.mysql 命令模式下键入 delimiter $$ 2. create procedure update_data_id() ...
  • 今天使用sqoop导入一张表,我去查数据库当中的数据量为650条数据,但是我将数据导入到hive表当中的时候出现了563条数据,这就很奇怪了,我以为是数据错了,然后导入了几次数据发现还是一样的问题。 然后我去查...
  • 一开我以为QTableWidget是因为数据量过大的...我估计是插入行的时候需要建表导致慢,我索性把数据库数据条数读出来,然后采取次性插入,速度上确实提高了不少.以前在ARM板卡上运行要1-2分钟,现在只要几秒钟就OK了.此
  • Linux下导出Mysql数据库数据的方法

    千次阅读 2015-02-27 15:50:44
    当查询到的数据结果数据量非常大的情况(假设超过1W),这时,如果想要对查询到的结果进行分析,就会的非常困难。 而如果可以将结果导入到个csv/txt文件中,就相对容易了。 方式、 mysql -h192....
  • 前两天做了个导入的功能,导入开始的时候非常慢,导入2w条数据要1分钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到线程把list导入Mysql中。时间是一点一点的少了。非常的爽...
  • 数据一般存放在Excel表中,逐条迁移到数据库中太麻烦,而且很时候企业的数据量都是以万起步,单导入显然不现实。那么该如何解决呢? 我们今天就给大家介绍个用途非常广泛的功能:批量导入,在很系统中,这...
  • 数据库概念

    2018-04-05 23:22:43
    索引 创建索引的唯一好处就是加速对表的查询。 坏处:当表中的数据被修改,增加,删除的时候,数据库系统需要维护索引,有一定的数据库开销。视图 视图不是数据表,并不能存储... 视图的本质就是一条被命名的S...
  • 本节书摘来自异步社区出版社《Oracle数据库管理与维护实战》书中的第2章,第2.7节,作者: 何伟娜 , 常建功,更章节内容可以访问云栖社区“异步社区”公众号查看。 2.7 数据分区 Oracle数据库管理与维护实战...
  • IQueryableEntity允许你将个实体直接变化为个查询(Query),在很时候可以用来完成复杂条件下的数据查询。比如 ‘in (?,?,?)’, ‘Between 1 and 10’之类的条件。 xxQL有着拼装语句可读性差、编译器无法...
  • python数据库设计

    2019-08-26 20:37:19
    数据库表的设计理论 1.库表设计注意事项----主键设计 主键尽量不要使用业务字段:数据和主键索引是...当一张表(A)中的一条记录能够对应另外一张表(B)中的多条记录,同时B表中的一条记录也能对应A表中的多条记...
  •  前两天做了个导入的功能,导入开始的时候非常慢,导入2w条数据要1分钟,后来一点一点的优化,从直接把list怼进Mysql中,到分别把list导入Mysql中,到线程把list导入Mysql中。时间是一点一点的少了。非常的...
  • 导读:当需要从数据库查询的表有上万记录的时候,次性查询所有结果会得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很种方法和优化的点。本文列举出一些方法,...
  • NoSQL数据库学习之MongoDB()初体验

    千次阅读 2012-12-07 16:13:08
    最近公司让对用户样本库进行分析,数据量每天30W以上,如果条件组合,则数据量更。使用关系型数据库(Mysql)一年将会达到上亿记录,这对mysql来说,各种查询将得非常慢。 考虑使用nosql数据库。选择使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 843
精华内容 337
关键字:

数据库一条数据变多条