HL_zjc 发表于 2024-5-6 15:41:40

10.0 服务端SQL命令

为什么说一直说在JOIN附近语法错误,代码如下:





UPDATE "项目信息表"
JOIN "月"."月" ON 项目信息表."月"="月".ID
SET "日期" = "月"."月"
WHERE "项目信息表"."项目ID"=@项目ID






吴小胖 发表于 2024-5-6 15:41:41

UPDATE "项目信息表"
SET "日期" = (
    SELECT "月名称" FROM "月"
    WHERE "月".ID = "项目信息表"."月"
)
WHERE "项目信息表"."项目ID" = @项目ID;试一下~

VVANVI 发表于 2024-5-6 18:00:11

join有很多 种innerleftrightfull 你需要明确是哪一种join

HL_zjc 发表于 2024-5-6 18:22:22

VVANVI 发表于 2024-5-6 18:00
join有很多 种innerleftrightfull 你需要明确是哪一种join

一开始用的inner,报错的时候就会说是inner附近语法错误

Shawn.Liu 发表于 2024-5-6 18:34:45

默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试
UPDATE "项目信息表"
SET "日期" = (
    SELECT "月"
    FROM "月"
    WHERE "ID" = "项目信息表"."月"
)
WHERE "ID" = @项目ID

jimmy 发表于 2024-5-6 20:45:28

好奇怪。update 就update 。为什么还有join
你这个就是语法错误。
join是连接函数。只应出现在select 里面。


Shawn.Liu 发表于 2024-5-7 08:56:00

感谢各位格友大佬的支持,楼主可以参考一下小胖老师的SQL

VVANVI 发表于 2024-5-7 11:22:05

Shawn.Liu 发表于 2024-5-6 18:34
默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试

SQLSERVER   update是可以使用join语句的, 可以根据其他表的条件更新, 其他的数据库就不清楚了, 不能一概而论 update 后面不能使用join语句

HL_zjc 发表于 2024-5-7 11:35:16

Shawn.Liu 发表于 2024-5-6 18:34
默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试

我查了一下,update后可以添加join语句,是活字格不支持这个吗

VVANVI 发表于 2024-5-7 11:37:46

本帖最后由 VVANVI 于 2024-5-7 11:42 编辑

HL_zjc 发表于 2024-5-7 11:35
我查了一下,update后可以添加join语句,是活字格不支持这个吗
这个跟活字格没关系,不同的数据库不尽相同, sqlserver 确定是可以的, 我也用过,回复的目的是不要误导人, 搞得像update 就不能接join语句一样

可能是sqllite 这个玩具数据库不支持吧
页: [1] 2
查看完整版本: 10.0 服务端SQL命令