`

SQL写一个临时表,去更新这个表里的字段

 
阅读更多
create table temp_should_display_brand
as
select distinct b.x_brand_id,i.imgname,s.store_id
from x_brand b,x_brand_st_img i,x_brand_store s
where b.x_brand_id = i.x_brand_id and b.x_brand_id = s.x_brand_id
and i.store_id = s.store_id and i.imgname is not null
and( b.cnname is not null or b.othername is not null);

update x_brand_store s set s.dispalyflg = 1 where s.x_brand_id in(select x_brand_id from temp_should_display_brand);
commit;
drop table temp_should_display_brand;

CREATE TABLE X_TEMP_X_ATTR AS
    (select  a.store_id,a.catentry_id, to_char(a.attr_id) as attr_id, max(to_char(a.attrval_id)) as attrval_id,
count(*) as count from x_catentryattr_store a ,attrval b,attr c where a.attrval_id=b.attrval_id and a.attr_id=c.attr_id and c.attrusage is null
group by a.catentry_id, a.attr_id, a.store_id
having count(* ) > 1)

delete from x_catentryattr_store xc
where xc.store_id||xc.catentry_id||xc.attr_id||
xc.attrval_id in
       (select a.store_id||
               a.catentry_id||
               to_char(a.attr_id)||
               to_char(a.attrval_id)
          from x_catentryattr_store a, X_TEMP_ATTR b
         where a.store_id = b.store_id
           and a.catentry_id = b.catentry_id
           and a.attr_id = b.attr_id
           and a.attrval_id != b.attrval_id)


DELETE FROM x_catentryattr_store where store_id||
               catentry_id||
               attr_id = any(
SELECT ID from ( select row_number() over(partition by  a.store_id,
               a.catentry_id,
               a.attr_id order by 
               a.attrval_id DESC) cno,to_char(a.attrval_id) AS ID,a.store_id||
               a.catentry_id||
               a.attr_id as key1 from x_catentryattr_store a
             
  ) te where te.cno > 1)
分享到:
评论

相关推荐

    SQL删除表里的重复数据的两种方法

    这种方法则是通过创建一个临时表来保存唯一记录,然后再用这个临时表覆盖原始表。具体步骤如下: 1. **创建临时表并插入唯一记录**:使用`SELECT DISTINCT`语句创建一个临时表`#tmp`,并将`jobs`表中的唯一记录插入...

    SQL实现两张无关联表的数据列合并在一张结果集中

    这段SQL语句的作用是创建一个名为`tab1`的临时表,并从中选择`tb_user`表中的前四条记录(根据`Id`字段排序)。这里使用了`TOP 4`来限制返回的结果数量,而`ROW_NUMBER()`函数则为每一行分配了一个唯一的行号,作为...

    只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名

    这个方法先创建了一个名为`@Course`的临时表,然后通过嵌套查询找出成绩低于或等于目标学生('b')成绩的学生数量,这个数量加上1就是排名。 ### 注意事项 当有多个学生成绩相同时,上述两种方法可能会导致排名不...

    sql server 带列名导出至excel.doc

    - 此部分代码用于根据提供的 SQL 查询创建一个临时表 `##tmp_<随机字符串>`。 - 然后,通过分析查询结果中的字段类型来构建正确的数据格式,确保导出的数据能够正确显示在 Excel 中。 ##### 3. 调用示例 ```sql ...

    SQL常用经典语句

    假设有一个表`a`,希望创建一个临时视图,并查询其中`a`字段大于1的记录。 ```sql SELECT * FROM (SELECT a, b, c FROM a) AS T WHERE T.a > 1; ``` #### 8. BETWEEN 的用法 **场景描述:** `BETWEEN`操作符用于...

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    Oracle查询表里的重复数据方法

    这个过程会创建一个临时表,存储不重复的记录,清空原始表,然后将临时表中的数据重新插入到原始表中。 总的来说,Oracle提供了多种方法来查询和处理重复数据,可以根据实际需求选择合适的方法。在执行删除操作时,...

    mysql实现查询数据并根据条件更新到另一张表的方法示例

    将查询结果暂时存储到一个新的临时表`mid`中,便于后续的更新操作。使用`INSERT INTO`语句将查询结果插入到`mid`表中: ```sql INSERT INTO mid (travelway_id, destination) SELECT travel_way.id, GROUP_...

    SQL数据库语句大全.docx

    - **说明**: 创建一个视图,视图是基于一个或多个表的结果集。 **删除视图** - **语法**: `DROP VIEW 视图名称;` - **说明**: 删除一个已存在的视图。 **几个简单的基本的SQL语句** - **SELECT**: 查询数据。 - **...

    mysql查询表里的重复数据方法

    为提高效率,可以创建一个临时表存储重复的`username`,然后通过连接查询获取完整记录: ```sql CREATE TABLE `tmptable` AS ( SELECT `username` FROM `hk_test` GROUP BY `username` HAVING count(`username`...

    mysql 数据表中查找重复记录

    浅谈MySQL临时表与派生表Mysql跨表更新 多表update sql语句总结mysql锁表和解锁语句分享MySQL中基本的多表连接查询教程MySQL表字段设置默认值(图文教程及注意细节)MySQL中使用表别名与字段别名的基本教程mysql查询...

    sql语言中delete删除命令语句详解

    `table_name`是你要删除数据的表的名称,这个表必须已经存在于你的数据库中,不能是临时表或者由`SELECT`语句创建的虚拟表。`WHERE`子句是可选的,它定义了删除数据的特定条件。如果不提供`WHERE`条件,那么`DELETE`...

    从浙政钉-企业微信-钉钉同步数据步骤

    企业微信钉钉同步数据步骤 本文将详细介绍从浙政钉到...从浙政钉到企业微信钉钉同步数据是一个复杂的过程,需要理解ccbpm部门、人员、部门与人员对应关系的表结构,orgNo的组织编号概念,集团模式和SAAS模式的概念等。

    Oracle数据库迁移到DB2数据库的技巧和注意点.doc

    11. 使用 DBMS_SQL 函数创建一个带 insert ... select ... 语句的游标,并能够计算插入的记录个数:在DB2数据库中,使用 DBMS_SQL 函数可以创建一个带 insert ... select ... 语句的游标,并能够计算插入的记录个数...

    把图片放到数据库中(19KB)...

    在这个案例中,用户可能需要学习如何创建一个表,包含一个字段专门用来存储图片数据。 在VB项目中,.VBP文件是Visual Basic工程文件,它包含了项目的所有相关信息,如源代码文件、设置和引用。OPENFILE.BAS可能是...

    飞恒进销存管理系统v7.21(源代码)

    2、 O_Outstore表中增加多一个字段[DeliveryManID] [int]表示送货员,出仓的时候增加送货员选择, 注意:因为出仓增加送货员,所以超市日结也要更改(日结过程pcdDayAuditPayed.sql) 3、 增加送货员汇总表和明细表...

    memsql文档整理

    * Leaf Node:负责存储和计算,每个 Leaf Node 由多个 Partition 组成,每个 Partition 相当于节点服务器上的一个数据库。 角色 ---- MemSQL 中有两种角色:Master Aggregator 和 Leaf Node。 * Master ...

    ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法

    当一个表(子表或从表)的某个字段引用另一个表(主表)的主键字段时,就会设置外键约束。这样,当在子表中插入或更新数据时,必须确保这些值在主表的主键列中存在。 在遇到 ORA-02298 错误时,我们可以采取以下...

Global site tag (gtag.js) - Google Analytics