繁体   English   中英

SQL查询从特定列中删除重复项

[英]SQL Query remove duplicates from specific column

我遇到了这个问题,我在sql查询中有点陌生,我想要达到的目的是根据1列的结果过滤查询,而我不希望有任何重复。 这是查询:

SELECT T1."CardName", 
       T0."Dscription", 
       T0."DocEntry", 
       T1."FolioNum",    
       T1."DocTotal", 
       T1."DocDate",
       T2."SeriesName", 
       T1."Series" 
FROM INV1 T0  
INNER JOIN OINV T1 ON T0."DocEntry" = T1."DocEntry" 
INNER JOIN NNM1 T2 ON T1."Series" = T2."Series" 
WHERE T1."DocTotal" > 1000 AND 
      T0."DocDate" between [%1] and [%2]

我希望所有的T0."DocEntry"都是我唯一的结果,我尝试了与众不同的方法,但这并不能以我想要的方式工作。

+--------------+-----------------+---------------+-----+
| T1."CardName"| T0."Dscription" | T0."DocEntry" | ... | 
+--------------+-----------------+---------------+-----+
| name 1       | product1        | 3111          |     | 
| name 1       | product2        | 3111          |     | 
| name 2       | product3        | 3222          |     | 
| name 2       | product4        | 3222          |     | 
+--------------+-----------------+---------------+-----+

我需要的

+--------------+-----------------+---------------+-----+
| T1."CardName"| T0."Dscription" | T0."DocEntry" | ... | 
+--------------+-----------------+---------------+-----+
| name 1       | product1        | 3111          |     | 
| name 2       | product3        | 3222          |     |  
+--------------+-----------------+---------------+-----+

希望你能帮助我。

使用(伪)聚合功能

  SELECT 
      T1."CardName"
      ,min( T0."Dscription")
      , T0."DocEntry"
  FROM INV1 T0  
  INNER JOIN OINV T1 ON T0."DocEntry" = T1."DocEntry" 
  INNER JOIN NNM1 T2 ON T1."Series" = T2."Series" 
  WHERE T1."DocTotal" > 1000
  AND T0."DocDate" between [%1] and [%2]
   GROUP BY  T1."CardName", T0."DocEntry"

您将使用SQL中的独特功能来消除这些重复的行。 只要给它一个快速的Google搜索,就可以了。

SELECT DISTINCT SALARY FROM CUSTOMERS
ORDER BY SALARY;

我在网上找到的简单示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM