两张数据库表:A和B。
结构如下:
A表:<table border="1">
<tr>
<th>name</th>
<th>number</th>
</tr>
<tr>
<td>张三</td>
<td>1</td>
</tr>
<tr>
<td>李四</td>
<td>2</td>
</tr>
<tr>
<td>王五</td>
<td>3</td>
</tr>
</table>
B表:<table border="1">
<tr>
<th>username</th>
<th>id</th>
</tr>
<tr>
<td>张三</td>
<td> </td>
</tr>
<tr>
<td>赵六</td>
<td> </td>
</tr>
<tr>
<td>孙七</td>
<td> </td>
</tr>
<tr>
<td>王五</td>
<td> </td>
</tr>写出一个sql,找出B表username中与A表name重复的数据,把重复数据在A表中的number值取出插入到B表对应的id字段中。
谢谢。
结构如下:
A表:<table border="1">
<tr>
<th>name</th>
<th>number</th>
</tr>
<tr>
<td>张三</td>
<td>1</td>
</tr>
<tr>
<td>李四</td>
<td>2</td>
</tr>
<tr>
<td>王五</td>
<td>3</td>
</tr>
</table>
B表:<table border="1">
<tr>
<th>username</th>
<th>id</th>
</tr>
<tr>
<td>张三</td>
<td> </td>
</tr>
<tr>
<td>赵六</td>
<td> </td>
</tr>
<tr>
<td>孙七</td>
<td> </td>
</tr>
<tr>
<td>王五</td>
<td> </td>
</tr>写出一个sql,找出B表username中与A表name重复的数据,把重复数据在A表中的number值取出插入到B表对应的id字段中。
谢谢。
解决方案 »
- oracle数据表导出
- 怎么固定连接一个实例
- 分页查询问题
- 怎样实现查询到一条记录,将它插入到另一个表中,同时将这条记录的一个字段置0
- oracle9i连到oracle7.13上为什么汉字显示是乱码
- 请问如何吧Number型的数据直接转成16进制存入Raw类型的表列里
- windows2000中Oracle OEM 的登录问题
- select查询两个或更多表的问题
- 为何在radhat7.3下oracle817数据库启动没起来啊???大家帮个忙啊!急急!!!
- 为什么copy命令不起作用?
- 求哪位达人帮小弟分析下StatspackReport
- oracle-12154 TNS:cound not resolve the connect identifier specified
表结构式这样的:
A表:
name number
张三 4
李四 6
王五 5 B表:
username id
张三
陈其
王五
赵六
ms sql里面我写的实现了,oracle我写的sql不好使。
set id=(select number from A表 where name=B表.username)
where exists (select 1 from A表 where name=B表.username)
我只是举个例子,实际上字段名称不是number,oracle创建表的时候不允许表名为number。我在ms sql里写的逻辑是:
UPDATE B
SET b.id = a.number
FROM B AS b,
(SELECT name, number
FROM A) AS a
WHERE b.username = a.nameoracle不好使。。
确实有重复数据,我大意了。。
表A的name字段有重复,我整理一下再试试你的sql。。