表A里面有A B两个字段,其中A存放的是3个不同表的ID(3个表都有几个相同的字段),B就是用来区别此ID来自哪个表.结构如下   
A           B   
1           1   
1           2   
1           3   书表----在A表的B字段中用1表示 
BID     书名        批发价     库存 
1       人与自然    50        100 
化妆品表----在A表的B字段中用2表示 
HID     化妆品名     批发价    库存 
1       爽肤水       250      10 茶表----在A表的B字段中用3表示 
HID     茶名         批发价    库存 
1       花茶         15       5 我现在想用语句查出下面的数据 
ID       商品名      批发价    库存 
1        人与自然    50       100 
1        爽肤水      250      10 
1        花茶        15       5

解决方案 »

  1.   

    第一个表好象没有起什么做用。表联合查询用union联合两个select语句。
      

  2.   

    我的A表中的字段A就是用来存BID,HID,TID的
      

  3.   

    假设三张表名为BOOK,COSMETICS,TEAselect BOOK.BID as ID,BOOK.NAME AS '商品名',BOOK.PRICE as '批发价',BOOK.NUM as '库存' from A,BOOK
       where A.B='1' and A.A=BOOK.BID
    union 
    select COSMETICS.HID as ID,COSMETICS.NAME AS '商品名',COSMETICS.PRICE as '批发价',COSMETICS.NUM as '库存' from A,COSMETICS
       where A.B='2' and A.A=COSMETICS.HID
    union
    select TEA.TID as ID,TEA.NAME AS '商品名',TEA.PRICE as '批发价',TEA.NUM as '库存' from A,TEA
       where A.B='3' and A.A=TEA.TID
      

  4.   

    select A.A,
    case when B=1 then 1.书名
    when B=2 then 2.茶名
    else 3.化妆品名 end 商品名,case when B=1 then 1.批发价
    when B=2 then 2.批发价
    else 3.批发价 end 批发价,case when B=1 then 1. 库存
    when B=2 then 2. 库存
    else 3. 库存 end  库存left join 1 on A.A=1.BID
    left join 2 on A.A=2.HID
    left join 3 on A.A=3.TID