[英]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.