先确定T表中相同的ZKZMBH,LSH,SFZMHM只有一个CARNO。 SELECT ZKZMBH,LSH,SFZMHM,CARNO FROM T GROUP BY ZKZMBH,LSH,SFZMHM HAVING COUNT(DISTINCT CARNO)>1;确定后再执行 UPDATE E SET E.CARNO=(SELECT DISTINCT CARNO FROM T WHERE T.ZKZMBH=E.ZKZMBH AND T.LSH=E.LSH AND T.SFZMHM=E.SFZMHM) WHERE (ZKZMBH,LSH,SFZMHM) IN (SELECT ZKZMBH,LSH,SFZMHM FROM T);
搜下oracle关联更新
E表是成绩表,carno是车号,ZKZMBH是准考证编号,LSH是流水号,KSCS是考试次数字段,学生如果考1次,就只有一条记录,考试次数为1,考两次有两条,考试次数为2,其他字段的信息都是相同的。。然后不不小心 update E set carno=null 了。所以想根据过程信息表T里面的学生对应的carno吧他查询插入进去。。但是E表就是因为有的是一条两条不确定写子查询提示返回多个值。 T表是过程表,和E表ZKZMBH,LSH关联。T表一个准考证号码的人实时数据大概有20~~30条不等。但是ZKZMBH,LSH,CARNO 字段都是一样的,T表也有KSCS考试次数字段。。SELECT ZKZMBH,lsh,CARNO FROM HIS_LK_UPLOADRECT t WHERE to_char(SJ,'yyyy-mm-dd')='2018-04-19' GROUP BY ZKZMBH,lsh,CARNO,可以查询到每个人的准考证,对应的车号,但是怎么写入到 E 表的 ZKZMBH里面,ZMZMBH可能有两条,可能有一条这样子。谢谢,大哥@!@
——---------------------———————————————————————— E表是成绩表,carno是车号,ZKZMBH是准考证编号,LSH是流水号,KSCS是考试次数字段,学生如果考1次,就只有一条记录,考试次数为1,考两次有两条,考试次数为2,其他字段的信息都是相同的。。然后不不小心 update E set carno=null 了。所以想根据过程信息表T里面的学生对应的carno吧他查询插入进去。。但是E表就是因为有的是一条两条不确定写子查询提示返回多个值。 T表是过程表,和E表ZKZMBH,LSH关联。T表一个准考证号码的人实时数据大概有20~~30条不等。但是ZKZMBH,LSH,CARNO 字段都是一样的,T表也有KSCS考试次数字段。。SELECT ZKZMBH,lsh,CARNO FROM HIS_LK_UPLOADRECT t WHERE to_char(SJ,'yyyy-mm-dd')='2018-04-19' GROUP BY ZKZMBH,lsh,CARNO,可以查询到每个人的准考证,对应的车号,但是怎么写入到 E 表的 CARNO 里面,ZkZMBH可能有两条,可能有一条这样子。谢谢,大哥@!@
SELECT ZKZMBH,LSH,SFZMHM,CARNO FROM T GROUP BY ZKZMBH,LSH,SFZMHM HAVING COUNT(DISTINCT CARNO)>1;确定后再执行
UPDATE E SET E.CARNO=(SELECT DISTINCT CARNO FROM T WHERE T.ZKZMBH=E.ZKZMBH AND T.LSH=E.LSH AND T.SFZMHM=E.SFZMHM) WHERE (ZKZMBH,LSH,SFZMHM) IN (SELECT ZKZMBH,LSH,SFZMHM FROM T);
T表是过程表,和E表ZKZMBH,LSH关联。T表一个准考证号码的人实时数据大概有20~~30条不等。但是ZKZMBH,LSH,CARNO 字段都是一样的,T表也有KSCS考试次数字段。。SELECT ZKZMBH,lsh,CARNO FROM HIS_LK_UPLOADRECT t WHERE to_char(SJ,'yyyy-mm-dd')='2018-04-19' GROUP BY ZKZMBH,lsh,CARNO,可以查询到每个人的准考证,对应的车号,但是怎么写入到 E 表的 ZKZMBH里面,ZMZMBH可能有两条,可能有一条这样子。谢谢,大哥@!@
——---------------------————————————————————————
E表是成绩表,carno是车号,ZKZMBH是准考证编号,LSH是流水号,KSCS是考试次数字段,学生如果考1次,就只有一条记录,考试次数为1,考两次有两条,考试次数为2,其他字段的信息都是相同的。。然后不不小心 update E set carno=null 了。所以想根据过程信息表T里面的学生对应的carno吧他查询插入进去。。但是E表就是因为有的是一条两条不确定写子查询提示返回多个值。
T表是过程表,和E表ZKZMBH,LSH关联。T表一个准考证号码的人实时数据大概有20~~30条不等。但是ZKZMBH,LSH,CARNO 字段都是一样的,T表也有KSCS考试次数字段。。SELECT ZKZMBH,lsh,CARNO FROM HIS_LK_UPLOADRECT t WHERE to_char(SJ,'yyyy-mm-dd')='2018-04-19' GROUP BY ZKZMBH,lsh,CARNO,可以查询到每个人的准考证,对应的车号,但是怎么写入到 E 表的 CARNO 里面,ZkZMBH可能有两条,可能有一条这样子。谢谢,大哥@!@