求几句sql的写法!!

loswing 2004-07-28 09:11:37
///table a
ID number
AMC //名称
tableB number //tableB ID
tableC number //tableC ID

//table b
ID number
BMC varchar2 //名称

//table c
ID number
CMC varchar2 //名称

1.我想在获取tableA 的id后获取相应的tableB和tableC中的BMC和CMC
2.我想在获取tableB 或者tableC名称后,获取tablA的中AMC
(我用jsp+servlet+javaBean+oracle写)
...全文
121 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinya2003 2004-07-28
  • 打赏
  • 举报
回复
1.
select
b.BMC ,
c.CMC
from
tablea a,
tableb b,
tablec c
where
a.tableb=b.id
and a.tablec=c.id
and a.id=你的id

2.
select
a.AMC
from
tablea a,
tableb b
where
a.tableb=b.id
and b.BMC=你的BMC值

--如果用表C的话改一下就行了
马前小卒 2004-07-28
  • 打赏
  • 举报
回复
up
YuriOU 2004-07-28
  • 打赏
  • 举报
回复
Create view v_name is
begin
select a.ID,b.BMC,c.CMC from tablea a,tableb b,tablec c where
a.tableB=b.ID and a.tableC=c.ID
End;
/
update v_name set BMC=XXX,CMC=XXX where ID=XXX;
YuriOU 2004-07-28
  • 打赏
  • 举报
回复
select b.BMC,c.CMC from tablea a,tableb b,tablec c where
a.tableB=b.ID and a.tableC=c.ID and a.ID=XXX

select a.AMC from tablea a,tableb b,tablec c where
a.tableB=b.ID and a.tableC=c.ID and b.BMC=XXX and c.CMC=XXX
loswing 2004-07-28
  • 打赏
  • 举报
回复
+1个问题
3.怎么在获取tableA的id(及jsp获取的newBMC,newCMC),后更新和他相对应的tableB和tableC中的BMC和CMC.
bzszp 2004-07-28
  • 打赏
  • 举报
回复
select (select max(bmc) from b where b.id=a.idb),
(select max(cmc) from c where c.id=a.idc)
from a
where ...;

select (select max(amc) from a where a.idb=b.id)
from b
where bmc='...'

使用max()是为了防止 子查询返回多行的 错误
more_zou 2004-07-28
  • 打赏
  • 举报
回复
1.select a.id,amc,b.bmc,c.cmc from a,b,c where a.tableB=b.id and a.tableC=c.id and a.id=?
2.上面的就行。
jianeng310 2004-07-28
  • 打赏
  • 举报
回复
什么是外键

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧