作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] 问一个语法的问题
时间Sat Dec 27 12:23:29 2008
※ 引述《Maninck (我是大天才^o^/)》之铭言:
: 假设现在有两张table及栏位如下:
: table1
: 姓名 性别 地址
: 小明 男
: 小华 女
: 小志 男
: table2
: 姓名 电话 地址
: 小明 2345677 台北市中正路二十号三楼
: 小华 2345678 台中市中正路二十号三楼
: 大友 2345679 台南市中正路二十号三楼
: 用下面这个语法可以变成一个大table
: select * from table1 as x
: join table2 as y on x.姓名 = y.姓名
: 而这张大table就长的像
: 姓名 性别 地址(table1) 电话 地址(table2)
: 小明 男 2345677 台北市中正路二十号三楼
: 小华 女 2345678 台中市中正路二十号三楼
: 我现在想要做的事就是把地址(table2)贴到地址(table1)
: 也就是说我希望talbe1最後可以变成
如果有支援 update .. from ..,写完 select基本上就收工了
--select *
update x set x.地址=y.地址
from table1 as x
join table2 as y on x.姓名 = y.姓名
google了一下,db2似乎不支援,但转换也还算简单
http://bytes.com/groups/ibm-db2/184527-update-join-multiple-tables
update table1 set table1.地址=(
select table2.地址 from table2 where table1.姓名 = table2.姓名
)
where exists(
select table2.地址 from table2 where table1.姓名 = table2.姓名
)
以上是 google来的 SQL片段改写…可能要再修改
: table1
: 姓名 性别 地址
: 小明 男 台北市中正路二十号三楼
: 小华 女 台中市中正路二十号三楼
: 小志 男
: 这样可以只用SQL语法做到吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.201.43
1F:推 Maninck:喔喔,我之前试的时候好像不行,不过我再试一次好了感谢^^ 12/27 12:45
2F:→ grence:不行的原因是什麽 12/27 13:32
3F:推 Maninck:好像他无法接受set 地址 =xxx 这个xxx要是一个固定值 12/27 20:09
4F:推 Maninck:不过我再去试试,也许是我哪个位置打错了 12/27 20:20