sql 的 update操作

news/2024/7/7 21:45:50 标签: sql, 数据库

sqlserver:在SQL Server中,你的UPDATE语句的语法需要稍微调整一下。你不能直接在SET子句之后立即跟INNER JOIN。正确的语法是将JOIN操作放在UPDATE和SET之间。以下是正确的写法:

UPDATE test_item
SET test_item.s1no = subcontractor.s1no
FROM test_item
INNER JOIN subcontractor ON test_item.s1code = subcontractor.s1code;

mysql:在MySQL中,标准的UPDATE语句不直接支持FROM子句,但你可以通过使用INNER JOIN或JOIN来达到类似的效果,以此来更新表中的记录,基于另一张表的数据。以下是MySQL中类似的语法示例:

UPDATE orders o
INNER JOIN order_updates ou
ON o.order_id = ou.order_id
SET o.status = ou.new_status;

oracle:在Oracle数据库中,标准的UPDATE语句同样不直接包含FROM子句,但你可以使用子查询或者MERGE语句来达到类似于其他数据库中通过FROM子句更新数据的效果。

UPDATE table_to_update t1
SET (column_name1, column_name2) = 
    (SELECT column_value1, column_value2
     FROM reference_table t2
     WHERE t1.matching_column = t2.matching_column)
WHERE EXISTS (
    SELECT 1
    FROM reference_table t2
    WHERE t1.matching_column = t2.matching_column);

select  
  t1.NO,
  t1.APPLICANT_NO,
    FORMAT(t1.APPLY_DATE, 'yyyy/MM/dd', 'en-US') as APPLY_DATE,
    t1.JOB_NO,
    t1.PRODUCT,
    t1.MODEL,
    FORMAT(t1.TARGET_DATE, 'yyyy/MM/dd', 'en-US') as TARGET_DATE,
    t1.CATEGORY,
    t1.SUBCONTRACTOR_NO,
    t2.CHN_NAME as SubcontractorCHNName,
    t2.subcontractor_code,
    t1.TEST_ITEM_ID,
    ISNULL(t3.CATEGORY, 0)as TestItemCategory,
    t3.DESCRIPTION as TestItemName,
    t3.test_item_code,
    t1.TEST_FEE_CURRENCY_NAME,
    t1.TEST_FEE_EXCHANGE_RATE,
    t1.TEST_FEE_AMOUNT,
    t1.COMMENTS,
    CASE t1.Status
    WHEN 2 THEN 'Created'
    WHEN 20 THEN 'Approved'
    WHEN 5 THEN 'Confirmed'
END
Status,
                 (SELECT max(DIRTY_FLAG) from SUBCONTRACT_TRACK where no=t1.no and STATUS=20 GROUP BY no) as APPROVE_DATE,
                 t4.Service_Amount*t4.Service_Exch_rate as JobInAmount,
                 t1.TEST_FEE_CURRENCY_NAME as '币种'
    from subcontract t1
     left join SUBCONTRACTOR t2 on t1.SUBCONTRACTOR_NO=t2.no
    left join test_item t3 on t1.TEST_ITEM_ID = t3.id
left join job t4 on t1.JOB_NO=t4.JOB_NO
    where t1.status in (5, 20)


http://www.niftyadmin.cn/n/5535352.html

相关文章

【C语言】—— 文件操作(上)

【C语言】—— 文件操作(上) 一、 为什么使用文件二、 什么是文件2.1、 程序文件2.2、 数据文件2.3、 文件名2.4、二进制文件与文本文件 三、 文件的打开和关闭3.1、流和标准流(1)流(2)标准流 3.2、文件指针…

【MongoDB】分布式数据库入门级学习

SueWakeup 个人主页:SueWakeup 系列专栏:为祖国的科技进步添砖Java 个性签名:保留赤子之心也许是种幸运吧 本文封面由 凯楠📸友情提供 凯楠📸 - 不夜长安 目录 MongoDB 相关 数据库排行榜单 MongoDB 中文官网 菜鸟…

工厂自动化相关设备工业一体机起到什么作用?

在当今的制造业领域,工厂自动化已成为提高生产效率、保证产品质量和降低成本的关键。在这一进程中,工业一体机作为一种重要的设备,发挥着不可或缺的作用。 工业一体机是自动化生产线上的控制中心。它能够整合和处理来自各个传感器、执行器和其…

【全网最全】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

基于RK3588的GMSL、FPDLink 、VByone及MIPI等多种摄像模组,适用于车载、机器人工业图像识别领域

机器人&工业摄像头 针对机器人视觉与工业检测视觉,信迈自主研发和生产GMSL、FPDLink 、VByone及MIPI等多种摄像模组,并为不同应用场景提供多种视场角度和镜头。拥有资深的图像算法和图像ISP专家团队,能够在软件驱动层开发、ISP算法、FPG…

16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分

0)前言 在MATLAB中,对函数进行不同形式的求导、求积分操作是非常常见的需求,在工程、科学等领域中经常会用到。以下是关于求导、求积分以及数值积分的简介: 求导:在MATLAB中可以使用diff函数对函数进行求导操作。diff…

安装 VisualSVN Server提示HTTP服务无法启动的问题解决

安装 VisualSVN Server 版本:VisualSVN-Server-5.4.0-x64 安装包在安装到一半的时候,弹窗提示:HTTP服务无法启动,网上找了一大堆,说是service里面更改用户为本地用户什么的都没用用,点右键也无法启动。 …

前端框架基础——Vue.js

目录 一、第一个Vue项目 1.创建Vue 2.详细解读 二、Vue指令 1.v-text、v-html 2.v-on 3.v-model 4.v-show、v-if 5.v-bind 6.v-for 三、Vue实例生命周期 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&am…