【发布时间】:2017-08-02 18:11:38
【问题描述】:
我必须根据条件更新选定的行。 以下查询返回几行:
select
b.CRDATTIM,
b.RECORDCD,
b.CRNODE,
b.UNITCD,
b.WRKTYPE
from W67U999S a
join W03U999S b
on a.CCRDATTIM = b.CRDATTIM and a.CRECORDCD = b.RECORDCD and a.CCRNODE = b.CRNODE
where a.PCRDATTIM = '2017-07-20-04.22.20.893340'
and a.PRECORDCD = 'F'
and a.PCRNODE = '01'
and b.WRKTYPE = 'CALLER'
and b.UNITCD='CS2XAA';
现在我必须根据以下where 条件更新上述select 查询中已经使用的W67u999s 表的pcrdattim 列
W67u999s.ccrdattim=returned select row.crdattim
我已尝试使用以下查询,但它不起作用。:
update W67u999s set pcrdattim='2017-07-31-07.40.42.355440' from W67U999S as a inner join W03U999S as b on a.CCRDATTIM = b.CRDATTIM and a.CRECORDCD = b.RECORDCD and a.CCRNODE = b.CRNODE
where a.PCRDATTIM = '2017-07-20-04.22.20.893340'
and a.PRECORDCD = 'F'
and a.PCRNODE = '01'
and b.WRKTYPE = 'CALLER'
and b.UNITCD='CS2XAA'
and a.ccrdattim=crdattim and b.crecordcd='T';
有什么想法吗?
【问题讨论】:
-
能否在 select 语句上创建一个视图并在更新中使用它?或者只是使用:从(内部 SQL)集合
更新表,然后是连接条件。 -
I 事物视图会使查询进一步复杂化。我们不能不使用任何视图吗?我的意思是使用
joins