首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 多表关联的查询语句 [已结贴,结贴人:guduyidao]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-10 18:05:07 楼主
    表一:                表二:                表三:
          id    姓名            姓名    年龄          姓名    年龄
          1    张三            张三    18        张三    19
          2    李四            李四    15        李四    15
        3    王二            马六    17        赵七    17
        4    赵七
          5    马六
    -------------------------------------------------------------
    表四:
    结果:
          id    姓名      年龄1    年龄2
          1    张三        18      19
          2    李四        15      15
          3    王二        null    null
          4    赵七        null      17
          5    马六        17      null   
    求一个查询语句原表: 表一,表二,表三   
              所要结果: 表四。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-13 22:10:311楼 得分:0
    下去想想!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-14 23:15:512楼 得分:5
    select t1.id id,ti.姓名 姓名,t2.年龄 年龄1,t3.年龄 年龄2
    from 表1 t1,表2 t2,表3 t3
    where t1.姓名(+)=t2.姓名
          t1.姓名(+)=t3.姓名


         
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-18 12:52:013楼 得分:5
    select  t1.id  as id,ti.姓名 as  姓名,t2.年龄 as  年龄1,t3.年龄  as 年龄2 from  表1  t1 left join 表2 t2 on t1.姓名 = t2.姓名 left join 表3  t3  on t1.姓名 = t3.姓名
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawugui
    • 等级:
    发表于:2007-12-18 16:41:384楼 得分:10
    SQL code
    --以下为在sql server 2000中的写法 create table A(id int, 姓名 varchar(10)) insert into A values(1, '张三') insert into A values(2, '李四') insert into A values(3, '王二') insert into A values(4, '赵七') insert into A values(5, '马六') create table B(姓名 varchar(10), 年龄 int) insert into B values('张三', 18) insert into B values('李四', 15) insert into B values('马六', 17) create table C(姓名 varchar(10), 年龄 int) insert into C values('张三', 19) insert into C values('李四', 15) insert into C values('赵七', 17) go select A.* , B.年龄 年龄1 , C.年龄 年龄2 from A left join B on A.姓名 = B.姓名 left join C on A.姓名 = C.姓名 drop table A,B,C /* id 姓名 年龄1 年龄2 ----------- ---------- ----------- ----------- 1 张三 18 19 2 李四 15 15 3 王二 NULL NULL 4 赵七 NULL 17 5 马六 17 NULL (所影响的行数为 5 行) */
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved