表A为:
id int 4 0
name varchar 20 1
ipadd varchar 15 1
prn1 smallint 2 0
prn2 smallint 2 0
prn3 smallint 2 0
isopen bit 1 0
status varchar 50 1--------------------------------------------------------------------------------
1 1号打印机 192.168.0.230 1 2 3 1
2 2号打印机 192.168.0.231 5 8 0 1
9 3号打印机 192.168.0.247 4 0 0 1
10 4号打印机 192.168.0.248 6 0 0 1
11 5号打印机 192.168.0.249 7 0 0 1
--------------------------------------------------------------------------------
表B为: Typecode smallint 2 0
NAME varchar 20 1
Depa varchar 30 1
Backcode smallint 2 1
QUENE smallint 2 1
[OPEN] bit 1 1-------------------------------------------------------------------------------------
1 厨房1 厨房 2 1
2 厨房2 厨房 1 1
3 味部 味部 5 1
4 点心 点心 2 1
5 刺身 刺身 6 1
6 酒吧 酒吧 1
7 海鲜 海鲜 5 1
8 大厅地哩 地哩 9 0
9 房间地哩 地哩 8 0现需取表A数据,但要将prn1,prn2,prn3 换成相应的中文,如表A中的prn1为1,就换为厨房1,请SQL语句!谢谢

解决方案 »

  1.   

    id int 4 0这样一行算表示啥?
      

  2.   

    id 为字段名
    int 数据类型
    后面的为没有意义
      

  3.   

    select id,name,ipadd,
    b.NAME,c.NAME,d.NAME,isopen,status from 表A a
    left join 表B b on a.prn1=b.Typecode 
    left join 表B c on a.prn2=c.Typecode 
    left join 表B d on a.prn3=d.Typecode 
      

  4.   

    id为字段名 int为数据类型 4为长度 0真的猜不到
    其实就是几个表JOIN
      

  5.   

    select
     a.id,a.name,a.ipadd,
     b.name,c.name,d.name,a.isopen,a.status 
    from
      a
     left join b 
    on
     a.prn1=b.Typecode 
     left join c
    on
     a.prn2=c.Typecode 
     left join  d 
    on
     a.prn3=d.Typecode 
      

  6.   

    maco_wang 兄弟太牛了,准备接分吧
      

  7.   

    最终修改后完成版!
    select a.id,a.name,a.ipadd,a.prn1,a.prn2,a.prn3,
    b.NAME as name1,c.NAME as name2,d.NAME as name3,a.isopen,a.status from prn a
    left join kitcprn b on a.prn1=b.Typecode 
    left join kitcprn c on a.prn2=c.Typecode 
    left join kitcprn d on a.prn3=d.Typecode