首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 把两张表的数据连接在一起 [已结贴,结贴人:LotusUnix]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 09:49:43 楼主
    表          a00_Module  :
    a00code        a00name
    1001      系统管理
    1002      基础信息
    2001      订单管理
    2002      采购管理
    2003      配货管理
    2004      报表管理

    表a01_funinfo:
    a00code      a01code  a01name
    1001      1    初始设置
    1001      2    权限管理
    1002      3    商品类别
    1002      4    扩展规格
    1002      5    商品品牌
    1002      6    商品信息
    1002      7    商户信息
    1002      8    客户信息
    1002      9    数据词典

    想把这两张表连接在一起,相等的条件是a00code
    并且连接后想用两张表统一的名称和编号

    1001      系统管理
    1        初始设置
    2              权限管理
    1002      基础信息
    2        权限管理
    3        商品类别
    4        扩展规格
    5        商品品牌
    6        商品信息
    7        商户信息
    8        客户信息
    9        数据词典
    并且按着两张表的a00Sort,a01Sort排序!
    10  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 09:54:111楼 得分:0
    union all
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 09:55:162楼 得分:0
    SQL code
    select code = case a01code when 0 then a00code else a01code end ,a00name from ( select a00code, a01code=0, a00name from a00_Module union select a00code, a01code, a00name from a00_Module ) as a order by a00code, a01code
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 09:55:213楼 得分:0
    select a00code,a00name,a01code,a01name
    from a00_module a0,a01_funinfo a1
    where a0.a00code=a1.a00code
    order by a00code,a01code
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:10:424楼 得分:0

    tim_spac 没有加条件
    tim_spac 不是横向连接,是纵向连接!!
    继续期待中!
    不过,还是谢谢大家的热情!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cson_cson
    • 等级:
    发表于:2008-05-12 10:17:525楼 得分:0
    SQL code
    create table #a00_Module(a00code int,a00name varchar(10)) insert #a00_Module select 1001, '系统管理' insert #a00_Module select 1002 , '基础信息' insert #a00_Module select 2001 , '订单管理' insert #a00_Module select 2002 , '采购管理' insert #a00_Module select 2003 , '配货管理' insert #a00_Module select 2004 , '报表管理' create table #a01_funinfo(a00code int,a01code int,a01name varchar(10)) insert #a01_funinfo select 1001, 1 ,'初始设置' insert #a01_funinfo select 1001 , 2 , '权限管理' insert #a01_funinfo select 1002 , 3 , '商品类别' insert #a01_funinfo select 1002 , 4 , '扩展规格' insert #a01_funinfo select 1002 , 5 , '商品品牌' insert #a01_funinfo select 1002 , 6 , '商品信息' insert #a01_funinfo select 1002 , 7 , '商户信息' insert #a01_funinfo select 1002 , 8 , '客户信息' insert #a01_funinfo select 1002 ,9, '数据词典' go select a01code,a01name from( select 1 px, a00code,a01code,a01name from #a01_funinfo union select 0 px,a00code,a00code,a00name from #a00_module)a order by a00code,px,a01code /* a01code a01name ----------- ---------- 1001 系统管理 1 初始设置 2 权限管理 1002 基础信息 3 商品类别 4 扩展规格 5 商品品牌 6 商品信息 7 商户信息 8 客户信息 9 数据词典 2001 订单管理 2002 采购管理 2003 配货管理 2004 报表管理 */ go drop table #a00_Module,#a01_funinfo
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:25:196楼 得分:0
    楼上的加个条件就行
    union
    select 0 px,a00code,a00code,a00name from a00_module b
    where exists( select 1 from a01_funinfo where a00code = b.a00code)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 11:43:067楼 得分:8
    SQL code
    set nocount on go create table #a00_Module(a00code int,a00name varchar(10)) insert #a00_Module select 1001, '系统管理' insert #a00_Module select 1002 , '基础信息' insert #a00_Module select 2001 , '订单管理' insert #a00_Module select 2002 , '采购管理' insert #a00_Module select 2003 , '配货管理' insert #a00_Module select 2004 , '报表管理' create table #a01_funinfo(a00code int,a01code int,a01name varchar(10)) insert #a01_funinfo select 1001, 1 ,'初始设置' insert #a01_funinfo select 1001 , 2 , '权限管理' insert #a01_funinfo select 1002 , 3 , '商品类别' insert #a01_funinfo select 1002 , 4 , '扩展规格' insert #a01_funinfo select 1002 , 5 , '商品品牌' insert #a01_funinfo select 1002 , 6 , '商品信息' insert #a01_funinfo select 1002 , 7 , '商户信息' insert #a01_funinfo select 1002 , 8 , '客户信息' insert #a01_funinfo select 1002 ,9, '数据词典' go select code = case a01code when 0 then a00code else a01code end ,a00name from ( select a00code, a01code=0, a00name from #a00_Module union select a00code, a01code, a01name from #a01_funinfo ) as a order by a00code, a01code drop table #a01_funinfo, #a00_Module -- code a00name -- 1001 系统管理 -- 1 初始设置 -- 2 权限管理 -- 1002 基础信息 -- 3 商品类别 -- 4 扩展规格 -- 5 商品品牌 -- 6 商品信息 -- 7 商户信息 -- 8 客户信息 -- 9 数据词典 -- 2001 订单管理 -- 2002 采购管理 -- 2003 配货管理 -- 2004 报表管理 --
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 18:05:348楼 得分:0
    sql server中子查询,oracle中就更好说了,有关键字
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 18:52:339楼 得分:0
    第四行的
    2          权限管理
    是怎么得到的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cson_cson
    • 等级:
    发表于:2008-05-13 08:27:5110楼 得分:0
    引用 9 楼 swot2008 的回复:
    第四行的
    2          权限管理 
    是怎么得到的

    应该是LZ写错了吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 10:02:5311楼 得分:2
    从所需结果看,其实没必要做join, union后适当的输出排序即可。
    修改 删除 举报 引用 回复

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