找回密码
 立即注册

QQ登录

只需一步,快速开始

HL_zjc

注册会员

13

主题

36

帖子

187

积分

注册会员

积分
187
HL_zjc
注册会员   /  发表于:2024-5-6 15:41  /   查看:2161  /  回复:10
1金币
为什么说一直说在JOIN附近语法错误,代码如下:





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






最佳答案

10 个回复

倒序浏览
最佳答案
最佳答案
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-5-6 15:41:41
来自 6#
  1. UPDATE "项目信息表"
  2. SET "日期" = (
  3.     SELECT "月名称" FROM "月"
  4.     WHERE "月".ID = "项目信息表"."月"
  5. )
  6. WHERE "项目信息表"."项目ID" = @项目ID;
复制代码
试一下~

评分

参与人数 1金币 +20 收起 理由
Shawn.Liu + 20 赞一个!

查看全部评分

回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2024-5-6 18:00:11
2#
join  有很多 种  inner  left  right  full 你需要明确是哪一种join
回复 使用道具 举报
HL_zjc
注册会员   /  发表于:2024-5-6 18:22:22
3#
VVANVI 发表于 2024-5-6 18:00
join  有很多 种  inner  left  right  full 你需要明确是哪一种join

一开始用的inner,报错的时候就会说是inner附近语法错误
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2024-5-6 18:34:45
4#
默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试
  1. UPDATE "项目信息表"
  2. SET "日期" = (
  3.     SELECT "月"
  4.     FROM "月"
  5.     WHERE "ID" = "项目信息表"."月"
  6. )
  7. WHERE "ID" = @项目ID
复制代码

回复 使用道具 举报
jimmy
中级会员   /  发表于:2024-5-6 20:45:28
5#
好奇怪。update 就update 。为什么还有join
你这个就是语法错误。
join是连接函数。只应出现在select 里面。


回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2024-5-7 08:56:00
7#
感谢各位格友大佬的支持,楼主可以参考一下小胖老师的SQL
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2024-5-7 11:22:05
8#
Shawn.Liu 发表于 2024-5-6 18:34
默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试

SQLSERVER   update  是可以使用join语句的, 可以根据其他表的条件更新, 其他的数据库就不清楚了, 不能一概而论 update 后面不能使用join语句
回复 使用道具 举报
HL_zjc
注册会员   /  发表于:2024-5-7 11:35:16
9#
Shawn.Liu 发表于 2024-5-6 18:34
默认update语句后面不能直接在其后使用JOIN的连接语句,可以参考使用下面的语句试试

我查了一下,update后可以添加join语句,是活字格不支持这个吗
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2024-5-7 11:37:46
10#
本帖最后由 VVANVI 于 2024-5-7 11:42 编辑
HL_zjc 发表于 2024-5-7 11:35
我查了一下,update后可以添加join语句,是活字格不支持这个吗

这个跟活字格没关系,  不同的数据库不尽相同, sqlserver 确定是可以的, 我也用过  ,回复的目的是不要误导人, 搞得像update 就不能接join语句一样

可能是sqllite 这个玩具数据库不支持吧
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部