为什么在视图里查询器出现运行返回都是空值,请帮忙检查一下。无限感激
SELECT dbo.CurrentStock.AutoID AS 序号, dbo.CurrentStock.cWhCode AS 仓库, 
      dbo.Warehouse.cWhName AS 名称, dbo.CurrentStock.cInvCode AS 编码, 
      dbo.Inventory.cInvName AS 存货, dbo.Inventory.cInvStd AS 规格, 
      dbo.CurrentStock.cBatch AS 批号, dbo.CurrentStock.iQuantity AS 现存, 
      dbo.CurrentStock.dMdate AS 日期, dbo.CurrentStock.dVDate AS 失效日期
FROM dbo.CurrentStock INNER JOIN
      dbo.Inventory ON dbo.CurrentStock.cInvCode = dbo.Inventory.cInvCode INNER JOIN
      dbo.Warehouse ON 
      dbo.CurrentStock.cWhCode = dbo.Warehouse.cWhCode INNER JOIN
      dbo.Vendor ON dbo.Warehouse.cWhCode = dbo.Vendor.cVenWhCode

解决方案 »

  1.   


    SELECT dbo.CurrentStock.AutoID AS 序号, dbo.CurrentStock.cWhCode AS 仓库, 
          dbo.Warehouse.cWhName AS 名称, dbo.CurrentStock.cInvCode AS 编码, 
          dbo.Inventory.cInvName AS 存货, dbo.Inventory.cInvStd AS 规格, 
          dbo.CurrentStock.cBatch AS 批号, dbo.CurrentStock.iQuantity AS 现存, 
          dbo.CurrentStock.dMdate AS 日期, dbo.CurrentStock.dVDate AS 失效日期 
    FROM dbo.CurrentStock INNER JOIN 
          dbo.Inventory ON dbo.CurrentStock.cInvCode = dbo.Inventory.cInvCode INNER JOIN 
          dbo.Warehouse ON dbo.CurrentStock.cWhCode = dbo.Warehouse.cWhCode INNER JOIN 
          dbo.Vendor ON dbo.Warehouse.cWhCode = dbo.Vendor.cVenWhCode看不出来有错误啊。
      

  2.   

    --把inner join 改成 left join 
    SELECT dbo.CurrentStock.AutoID AS 序号, dbo.CurrentStock.cWhCode AS 仓库, 
          dbo.Warehouse.cWhName AS 名称, dbo.CurrentStock.cInvCode AS 编码, 
          dbo.Inventory.cInvName AS 存货, dbo.Inventory.cInvStd AS 规格, 
          dbo.CurrentStock.cBatch AS 批号, dbo.CurrentStock.iQuantity AS 现存, 
          dbo.CurrentStock.dMdate AS 日期, dbo.CurrentStock.dVDate AS 失效日期 
    FROM dbo.CurrentStock left JOIN 
          dbo.Inventory ON dbo.CurrentStock.cInvCode = dbo.Inventory.cInvCode left JOIN 
          dbo.Warehouse ON 
          dbo.CurrentStock.cWhCode = dbo.Warehouse.cWhCode left JOIN 
          dbo.Vendor ON dbo.Warehouse.cWhCode = dbo.Vendor.cVenWhCode
      

  3.   

    看起来没错,可能是你的某个表里没数据,inner join 导致连接不成功,查不出数据.把inner join一个一个去掉试试
      

  4.   

    但运行起来所有返回值是空的!为什么呢,如果是这样的话运行就正常显示
    SELECT dbo.CurrentStock.AutoID AS 序号, dbo.CurrentStock.cWhCode AS 仓库编码, 
          dbo.Warehouse.cWhName AS 名称, dbo.CurrentStock.cInvCode AS 存货编码, 
          dbo.Inventory.cInvName AS 存货名称, dbo.Inventory.cInvStd AS 规格型号, 
          dbo.CurrentStock.cBatch AS 批号, dbo.CurrentStock.iQuantity AS 现存量, 
          dbo.CurrentStock.dMdate AS 生产日期, dbo.CurrentStock.dVDate AS 失效日期
    FROM dbo.CurrentStock INNER JOIN
          dbo.Inventory ON dbo.CurrentStock.cInvCode = dbo.Inventory.cInvCode INNER JOIN
          dbo.Warehouse ON dbo.CurrentStock.cWhCode = dbo.Warehouse.cWhCode注意前面加了INNER JOIN 
          dbo.Vendor ON dbo.Warehouse.cWhCode = dbo.Vendor.cVenWhCode
    不知道是为什么?
      

  5.   

    SELECT a.AutoID AS 序号, a.cWhCode AS 仓库, 
          b.cWhName AS 名称, a.cInvCode AS 编码, 
          c.cInvName AS 存货, c.cInvStd AS 规格, 
          a.cBatch AS 批号, a.iQuantity AS 现存, 
          a.dMdate AS 日期, a.dVDate AS 失效日期 
    FROM dbo.CurrentStock  a
    JOIN dbo.Inventory c ON a.cInvCode = c.cInvCode 
    JOIN dbo.Warehouse b ON a.cWhCode = b.cWhCode 
    JOIN dbo.Vendor    d ON b.cWhCode = d.cVenWhCode
      

  6.   


    就是因为这个inner join 连接为空啊
      

  7.   


    肯定连接dbo.Vendor时有错误呗,
    你看看是不是数据的问题!