SELECT A.编号 as A表编号,名称 as [A 表名称2],B.编号 as B表编号3,数量 as B表数量4 from [药品销售] AS A JOIN [药品信息] AS B on a.编号=b.编号

解决方案 »

  1.   

    你的数据库中有A,B这两个表吧?你用下面的语句查询一下:select name,xtype from sysobjects where name in('A','B')
      

  2.   

    from a  --a应该就是表名
      

  3.   

    我的数据表里编号和数量这几个数字是没有的,难道他是自动生成的?你select * from B看看有没有数量?
    再select * from A看看有没有数量?
    还有我把from后面写成
    药品销售 AS A JOIN 药品信息 AS B
    就不对,提示要转化一下类型,那就想问一下,为什么前面的可以,我这里指定了是哪个表了,到反而不可以了。SELECT A.编号 as A表编号,名称 as [A 表名称2],B.编号 as B表编号3,数量 as B表数量4 from [药品销售] AS A JOIN [药品信息] AS B on a.编号=b.编号
    [药品销售].编号和[药品信息].编号是不是数据类型不同?
    在这句里
    from A join B on a.编号=b.编号
    我没有确定A和B是哪个表,那他是怎么确认的?没有指定别名就是表名
      

  4.   

    另外,from 后面是表名,然后是空格分开的别名,或用as 指定别名.这个别名是可以省略的.所以:
    from A join B on a.编号=b.编号中的A,B是表名,而不是表别名,表名也可以直接在查询语句中引用的.
      

  5.   

    to:zjcxc(邹建) ( ) 
    我的数据库是3个表,但不知道为什么用a,b而不用as转化就可以输出结果。实在不懂。
    这个是结果:
    name                                                                                                                             xtype 
    -------------------------------------------------------------------------------------------------------------------------------- ----- 
    A                                                                                                                                U 
    B                                                                                                                                U TO: 8992026(89920260)
    我不是写不来,是看不懂。
      

  6.   

    那你查查
    select name,xtype from sysobjects where name in('药品销售','药品信息')
      

  7.   

    SELECT A.编号 as A表编号,名称 as [A 表名称2],B.编号 as B表编号3,数量 as B表数量4 from A join B on a.编号=b.编号中的as是“a.编号” 用 “A表编号”的列名来显示,把“名称”用 “A 表名称2”的列名来显示,后面二个同理,这是在select查询语句常用的格式,目的是为了区分在一个查询中同时显示二个不同表的同名字段而你提到的 “药品销售 AS A JOIN 药品信息 AS B” 中as的意思是的把 “药品销售”表名用“A”别名来表示,把“药品信息”表名用“B”别名来表示,A、B...这在VF中常说的系统工作区的别名表示法