免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2710 | 回复: 2
打印 上一主题 下一主题

求助!!!关于两个表关联查询的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 17:54 |只看该作者 |倒序浏览
求助!!!关于两个表关联查询的问题?
数据库为Oracle 8.0.6
现在有两个表t1和t2
t1表结构如下
num        je    xse    rq
01        100   200
02        50    300
01      30    1000
t2表结构如下
num   mc    cj    dz
01    苹果  烟台  山东
02    橘子  成都  四川

查询语句如下:
select a.num,b.mc,a.je,a.xse
  from t1 a,t2 b
  where a.num=b.num
        and a.xse/a.je=2
结果是b.mc的列内容却是b.cj列的内容
select *
  from ( select num,je,xse
            from t1
            where xse/je=2
        ) a,
        (select num,mc
            from t2
        ) b
  where a.num=b.num
结果还是那样?

论坛徽章:
0
2 [报告]
发表于 2005-11-16 09:10 |只看该作者
NU MC           JE        XSE
-- ---- ---------- ----------
01 苹果        100        200

我试了一下,没问题呀。

论坛徽章:
0
3 [报告]
发表于 2005-11-21 21:03 |只看该作者
SELECT *
FROM
      (SELECT swjg_dm,BS_NSRSBH,xf_nsrsbh,gf_nsrsbh,dm,hm,je,se,kprq
         FROM mx
           WHERE bssj>=TO_DATE(20051001,'yyyymmdd')
               AND bssj<=TO_DATE(20051031,'yyyymmdd')
               AND zf='N'
               AND ROUND(je*0.04,2)=se
       ) a,
       (SELECT nsrsbh,qy_mc
         FROM xx
        ) b
   WHERE a.xf_nsrsbh=b.nsrsbh

查询结果为:

   SWJG_DM BS_NSRSBH XF_NSRSBH GF_NSRSBH DM HM JE SE KPRQ NSRSBH QY_MC
1 141042100 41042100DK00109 41042100DK00109 410421761659598 4100043170 00536650 32900.00 1316.00 2005-9-12 41042100DK00109 宝丰县国家税务局
2 141042100 41042100DK00109 41042100DK00109 41042370657433X 4100043170 00536659 86322.50 3452.90 2005-9-26 41042100DK00109 宝丰县国家税务局
3 141042300 41042300DK00141 41042300DK00141 410423716774802 4100044170 01105595 90000.00 3600.00 2005-9-30 41042300DK00141 鲁山县国家税务局
4 141042300 41042300DK00141 41042300DK00141 410423742532858 4100044170 01105598 90000.00 3600.00 2005-9-30 41042300DK00141 鲁山县国家税务局

如果去掉条件 ROUND(je*0.04,2)=se ,注意最后一列QY_MC内容的变化
SELECT *
FROM
      (SELECT swjg_dm,BS_NSRSBH,xf_nsrsbh,gf_nsrsbh,dm,hm,je,se,kprq
         FROM mx
           WHERE bssj>=TO_DATE(20051001,'yyyymmdd')
               AND bssj<=TO_DATE(20051031,'yyyymmdd')
               AND zf='N'
               
       ) a,
       (SELECT nsrsbh,qy_mc
         FROM xx
        ) b
   WHERE a.xf_nsrsbh=b.nsrsbh

查询结果为:

   SWJG_DM BS_NSRSBH XF_NSRSBH GF_NSRSBH DM HM JE SE KPRQ NSRSBH QY_MC
1 141048200 410482177425522 410482177425522 412823614406830 4100044170 01114083 568291.67 96609.58 2005-9-9 410482177425522 河南巨龙淀粉实业有限公司
2 141048200 410482177425522 410482177425522 411300176354654 4100044170 01114084 483333.33 82166.67 2005-9-9 410482177425522 河南巨龙淀粉实业有限公司
3 141048200 410482177425522 410482177425522 411300176354654 4100044170 01114085 813754.87 138338.33 2005-9-9 410482177425522 河南巨龙淀粉实业有限公司
4 141048200 410482177425522 410482177425522 41130374070920X 4100044170 01114086 236923.08 40276.92 2005-9-9 410482177425522 河南巨龙淀粉实业有限公司

[ 本帖最后由 young03 于 2005-11-21 21:05 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP