我做了一个库存和申购数据库。库存记录表字段如下:
1.编号
2.中文名称
3.英文名称
4.型号
5.数量
6.单位
7.存放位置申购记录表字段如下:
1. 库存表编号连接                   //对应库存表的编号,以获得对应的名称型号等数据
2.申购数量
3.单位
4.申购人我使用delphi编程工具操作数据库,在软件的申购界面,如果只是显示“申购记录表”的四个字段,不够直观和人性化(只有库存表编号连接,没有名称等数据信息)。
"select * from 库存记录表" 和 "select * from 申购记录表" ,两种方法都不能在dbgrid表格中直观显示所有数据,我想将两个表的所有字段(除了编号和编号连接)都显示在dbgrid控件里,可不可以实现?(如果不可以的话,那我只有用两个dbgrid,一个dbgrid1,显示申购记录表,一个dbgrid2显示对应的库存记录。)

解决方案 »

  1.   

    两个列数要一样!select * from 库存记录表
    UNION ALL
    select * from 申购记录表
      

  2.   

    可是可以,
    只是个人觉得这种需求分层两个Grid实现比较好,
    而且也比较直观,
    库存为库存,
    申购为申购,
    不会混淆.
      

  3.   

    Select * from 
    库存记录表 A
    Left Join
    申购记录表 B 
    On A.编号 = B.库存表编号
      

  4.   

    谢谢大家,我最后还是使用了 hery2002 的意见.
    不过,如何使两个查询结果的排列一样呀?申购记录表加一个字字段 ,"递交时间",如何将两个查询结果按 "递交时间" 排列呀?
    谢谢!
      

  5.   

    select * from 申购记录表 left join 库存记录表 on 申购记录表.库存表编号=库存记录表.编号 
    order by 递交时间 desc
      

  6.   


    select 字段 from 库存记录表
    union all 
    select 字段 from 申请记录表
      

  7.   

    [Quote=引用 1 楼 jlwei888 的回复:]
    两个列数要一样! select * from 库存记录表 
    UNION ALL 
    select * from 申购记录表請問一下  是不是列值的數據類型及列名也要相同才能執行此語句 
      

  8.   

    楼主使用连接查询就可以了select * from 库存记录表,申购记录表
    where 库存记录表.编号=申购记录表.库存表编号