我有一个用户表,这个表里的用户有几项内容分别在几个不同的表中,在这几个表中每个表中有某一用户的几条记录。
现在想把这几个表里关于这个用户的所有记录同时显示如何操作?如果分别操作需要多次读取数据库,有没有简洁的办法用视图和过程一次性读取排列?
谢谢
请注意从每个表中提取的记录前面都要显示一个标题。

解决方案 »

  1.   

    select * from 用户表 inner join 编码表 on 用户表.编码=编码表.id
    inner join 编码表 on 用户表.编码=编码表.id
    inner join 编码表 on 用户表.编码=编码表.id
    ...
    order by 字段
      

  2.   

    select 编码表.名称 as 标题 from 用户表 inner join 编码表 on 用户表.编码=编码表.id
    inner join 编码表 on 用户表.编码=编码表.id
    inner join 编码表 on 用户表.编码=编码表.id
    ...
    order by 字段
      

  3.   

    --测试:
    create table org_user
    (
    userid int,
    username varchar(20),
    sex char(4)
    )
    create table org_user_1
    (
    userid int,
    resume varchar(20),
    collage varchar(100)
    )create table org_user_2
    (
    userid int,
    company varchar(20),
    tel varchar(20)
    )insert org_user 
    select 1,'张三','男' union
    select 2,'李四','女' union
    select 3,'王二','男'insert org_user_1 
    select 1,'大专','北京大专' union
    select 2,'大学','北京大学' union
    select 3,'高中','北京高中'insert org_user_2
    select 1,'公司一','123' union
    select 2,'公司二','456' union
    select 3,'公司三','789'--下面的语句执行:
    select ('org_user表:'+a.username) as username,('org_user_1表:'+b.collage) as collage,('org_user_2表:'+c.company) as company from org_user a inner join org_user_1 b on a.userid=b.userid inner join org_user_2 c on a.userid=b.userid where a.userid=1--结果
    --   username             collage                   company
    --org_user表:张三  org_user_1表:北京大专 org_user_2表:公司一
    --org_user表:张三   org_user_1表:北京大专 org_user_2表:公司二
    --org_user表:张三   org_user_1表:北京大专 org_user_2表:公司三