SQL大师帮看看我写的语句报错,该怎么改? 报的STUDY.s_key 标识符无效 我想给STUDY表取别名,但也是无效
答案:1 悬赏:50 手机版
解决时间 2021-04-06 10:19
- 提问者网友:一抹荒凉废墟
- 2021-04-05 18:29
SQL大师帮看看我写的语句报错,该怎么改? 报的STUDY.s_key 标识符无效 我想给STUDY表取别名,但也是无效
最佳答案
- 五星知识达人网友:封刀令
- 2021-04-05 18:55
insert语句是不能这样写的,他只能指定数据集合的插入,并不能在插入的同时对插入的表进行判定。其实看你的需求是想找出study表中和你查询的数据共有s_key的数据才放入study表中,否则不放。那么你需要这么写
insert into STUDY
select T.b_dt from (
select t.s_key ,T.b_dt
from (select i.s_key, max(b_dt) as 'b_dt'
from INST i
group by i.s_key) T
join STUDY s
on t.s_key=s.s_key)
这样就实现了,其实这个功能相当于记录流水单的意思,比如余额的流水记录,每消费一次,就找到对应的余额ID,插入对应的流水单表中。追问哦即是说再嵌套一次,把插入和判定分开操作就行哈?追答是的 也就是插入语句只是对数据集做插入操作,判定的东西一律要写到查询中。所以你要嵌套后重新写一下就好了。
insert into STUDY
select T.b_dt from (
select t.s_key ,T.b_dt
from (select i.s_key, max(b_dt) as 'b_dt'
from INST i
group by i.s_key) T
join STUDY s
on t.s_key=s.s_key)
这样就实现了,其实这个功能相当于记录流水单的意思,比如余额的流水记录,每消费一次,就找到对应的余额ID,插入对应的流水单表中。追问哦即是说再嵌套一次,把插入和判定分开操作就行哈?追答是的 也就是插入语句只是对数据集做插入操作,判定的东西一律要写到查询中。所以你要嵌套后重新写一下就好了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯