求高手解决显示问题,在线等高手出现 ( 积分: 50 )

  • 主题发起人 主题发起人 yangxiufengcom
  • 开始时间 开始时间
Y

yangxiufengcom

Unregistered / Unconfirmed
GUEST, unregistred user!
表1
代码 名称 类型标识 备注
1 男 性别
2 女 性别
01 汉族 民族
02 苗族 民族
... ... ...
0205 贵州 地址
0206 四川 地址
... ... ...
004 XX小学 学校
005 YY中学 学校
... ... ...
表二
姓名 性别 民族 地址 学校
小五 1 02 0206 005
小李 2 01 0206 005
... ........ .....

想得到下面中文显示:(数据要真正显示中文)
姓名 性别 民族 地址 学校
小五 男 苗族 四川 XX中学
小李 女 汉族 四川 YY小学
............. ..........
 
调试过ok
CREATE TABLE [a1] (
[xm] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[xb] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[mz] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[dz] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[xx] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [a2] (
[dm] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[mc] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[lxbz] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[bz] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
前面是我建的表;
如果你的表2 中代码字段是不重复的,那么下面的即可
select a.xm as '姓名' ,b.mc as '性别',c.mc as '民族',d.mc as '地址',e.mc as '学校'
from a1 a
left join a2 b on a.xb = b.dm
left join a2 c on a.mz = c.dm
left join a2 d on a.dz = d.dm
left join a2 e on a.xx = e.dm
如果你的表2代码字段是可以重复的,那就用下面的
select a.xm as '姓名' ,b.mc as '性别',c.mc as '民族',d.mc as '地址',e.mc as '学校'
from a1 a
left join a2 b on a.xb = b.dm and b.lxbz = '性别'
left join a2 c on a.mz = c.dm and c.lxbz = '民族'
left join a2 d on a.dz = d.dm and d.lxbz = '地址'
left join a2 e on a.xx = e.dm and e.lxbz = '学校'
 
老大,太感谢你的帮助,数据库是Access行吗?
 
当然行了,
虽然access和sql server语法不大一样,但有很多是一样的;
这里没用到其他什么标志符,都是常规的,可以的.
不过你最好亲自试一下.
 
老兄:昨天有事不在线,现在给分,有点少,不好意思.以后多多指教
 
后退
顶部