隐藏重复行sql

隐藏重复行sql,sql,asp.net,sql-server,vb.net,Sql,Asp.net,Sql Server,Vb.net,如何在此查询中隐藏/删除重复行 SELECT CASE WHEN capex_billofmaterialitem.decQuantity <> '0' THEN '0' ELSE capex_billofmaterialitem.decQuantity END AS decQuantity, capex_billofmaterialitem.* FROM capex_billofmateriali

如何在此查询中隐藏/删除重复行

SELECT 
    CASE
       WHEN capex_billofmaterialitem.decQuantity <> '0'
         THEN '0'
         ELSE capex_billofmaterialitem.decQuantity
    END AS decQuantity,
    capex_billofmaterialitem.*
FROM 
    capex_billofmaterialitem,
    capex_billofmaterial
WHERE 
    capex_billofmaterialitem.szbillofmaterialid = capex_billofmaterial.szbillofmaterialid
    AND capex_billofmaterial.szprojectcode = '" + szProjectCode + "'";
选择
案例
当资本支出超过Billof MaterialItem.Dec数量“0”时
然后是“0”
其他资本支出(单位:Billof MaterialItem.Dec数量)
以数量结束,
材料工程的资本支出*
从…起
材料工程的资本支出,
材料的资本支出
哪里
材料资本支出项目。材料资本支出项目=材料资本支出项目。材料资本支出项目
以及资本支出(billofmaterial.szprojectcode=“+szprojectcode+”;

尝试使用
不同的
-

SELECT DISTINCT CASE
           WHEN capex_billofmaterialitem.decQuantity <> '0'
               THEN '0'
           ELSE capex_billofmaterialitem.decQuantity
       END AS decQuantity,
       capex_billofmaterialitem.*
FROM capex_billofmaterialitem
JOIN capex_billofmaterial ON capex_billofmaterialitem.szbillofmaterialid = capex_billofmaterial.szbillofmaterialid
WHERE capex_billofmaterial.szprojectcode = @szProjectCode
选择不同的大小写
当资本支出超过Billof MaterialItem.Dec数量“0”时
然后是“0”
其他资本支出(单位:Billof MaterialItem.Dec数量)
以数量结束,
材料工程的资本支出*
来自材料项目的资本支出
将材料的资本支出加入材料的资本支出项目。szbillofmaterialid=材料的资本支出。szbillofmaterialid
其中capex_billofmaterial.szprojectcode=@szprojectcode
试试这段代码

使用行号()这是一种安全的方法


使用
Distinct
……。-在ANSI-92 SQL标准(20多年前)中,旧样式的逗号分隔表样式被正确的ANSI
JOIN
语法所取代不鼓励使用它。您能为您的表格和预期输出包含示例记录吗?@Ubay Maulana请提供实际和预期结果
WITH CTE_Dup AS
(

 SELECT * ROW_NUMBER()OVER (PARTITIONBY SalesOrderno, ItemNo ORDER BY SalesOrderno, ItemNo)
 AS ROW_NO
 from dbo.SalesOrderDetails
)
Delete FROM CTE_Dup;