论坛首页 综合技术论坛

Oracle 单字段双查询

浏览 1844 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-16  
我有如下一个表criminals_mobile_info人员调动表

还有个基础信息表info
他们之间没有关系。

criminals_mobile_info人员调动表中有两个字段ZFDD03,ZFDD04他们同一和基础信息表
info中code有关系,我的意思想通过一句sql语句,能够把ZFDD03,ZFDD04想对应信息表中的名称给取出来????
  • 大小: 1.6 KB
  • 大小: 2.8 KB
   发表时间:2009-07-20  
select t.id,t.criminal_now_info_id,t.zfdd01,t.zfdd02,
    (select a.id from info a where a.code = t.zfdd03) zfdd03_id,
    (select a.id from info a where a.code = t.zfdd04) zfdd04_id,
    t.zfdd05
from criminals_mobile_info t


子查询中的ID可以换成其他你要的INFO中的字段
0 请登录后投票
   发表时间:2009-07-20   最后修改:2009-07-20
select t.id,t.criminal_now_info_id,t.zfdd01,t.zfdd02,
    (select a.id from info a where a.code = t.zfdd03) zfdd03_id,
    (select a.id from info a where a.code = t.zfdd04) zfdd04_id,
    t.zfdd05
from criminals_mobile_info t


子查询中的ID可以换成其他你要的INFO中的字段


呵呵,也许是我没有说清楚,我不是要的这个id,我是要info表里面的name字段。而且你这个写法哈,只能查询一条数据满足的,要是多条就要出错。
那天我想起来了。。可以这样:
anzn20 写道
select t.*,info1.name,info2.name from criminals_mobile_info cmi
left join info info1 on info1.id = cmi.zfdd03
left join info info2 on info2.id = cmi.zfdd04

0 请登录后投票
   发表时间:2009-07-20  
理解力、判断力、执行力......
很飘超级飘
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics