SELECT     c.Wac, c.PdC, c.Quantity, c.UnitCode, c.Price, c.CostPrice, c.WarehouseAmount, c.CostAmount, D.Pdn, D.SpecName, D.UnitName, 
                      D.CategoryName, D.Alias, D.ProductCategoryCode, D.Shape, D.StorageMaximum, D.StorageMinimum, D.InputVAT, D.RetrievalCode, D.AliasRetrievalCode, D.Explain, 
                      D.UseMark, D.TypeName, D.ManageLevel, D.LendCheck, E.DepartmentName
FROM         dbo.Storage_InventoryCollect AS c INNER JOIN
                      dbo.View_System_ProductInfo AS D ON c.PdC= D.PdCINNER JOIN
                      dbo.System_DepartmentInfo AS E ON c.Wac= E.DepartmentCode
这是一个多表查询,其中只查询D.Pdn字段一条信息,其他重复的记录都不显示,求高手,在线等候

解决方案 »

  1.   


    select distinct d.pdn from dbo.storage_inventorycollect as c   
    inner join dbo.view_system_productinfo as d on c.pdc= d.pdcinner   
      

  2.   

    天啊,请格式化下咯。
    如果是取一个值的话,就用 group by 咯,如果是要求整条记录的话,应该要这样求:
    id,name
    select id,name from tb where id = (select max(id) from tb group by name)
    我的思路,求等高人!!!
      

  3.   

    WITH cte
    AS
    (
    SELECT  c.Wac ,
            c.PdC ,
            c.Quantity ,
            c.UnitCode ,
            c.Price ,
            c.CostPrice ,
            c.WarehouseAmount ,
            c.CostAmount ,
            D.Pdn ,
            D.SpecName ,
            D.UnitName ,
            D.CategoryName ,
            D.Alias ,
            D.ProductCategoryCode ,
            D.Shape ,
            D.StorageMaximum ,
            D.StorageMinimum ,
            D.InputVAT ,
            D.RetrievalCode ,
            D.AliasRetrievalCode ,
            D.Explain ,
            D.UseMark ,
            D.TypeName ,
            D.ManageLevel ,
            D.LendCheck ,
            E.DepartmentName
    FROM    dbo.Storage_InventoryCollect AS c
            INNER   JOIN dbo.View_System_ProductInfo AS D ON c.PdC = D.PdCINNER
            JOIN dbo.System_DepartmentInfo AS E ON c.Wac = E.DepartmentCode 
    )
    SELECT * FROM cte WHERE Pdn = (SELECT TOP 1 Pdn FROM dbo.View_System_ProductInfo)FYI