首页 > 解决方案 > SQL 查询 - 如何过滤掉重复值

问题描述

在此处输入图像描述

如果我有两个帐户(1 和 2),但我正在尝试过滤有苹果但没有橙子的帐户。根据这些数据,您将如何做到这一点?

这就是我现在所拥有的:

SELECT * 
FROM products p
join accounts a on a.id = p.id
join 
(
  SELECT account
  FROM products p
  join accounts a2 on a2.id = p.id
  WHERE products LIKE '%Apples%'
) a2.id = a.id    
WHERE products NOT LIKE '%Oranges%'

标签: sqlsql-servertsql

解决方案


SELECT * FROM "YourTableName" 
WHERE Account_# NOT IN (
    SELECT Account_# FROM "TheSameTableNameAsMentionedBefore" 
    WHERE Product = "Oranges"
);

它应该工作。但我不确定我是否正确理解了你的问题。你提到了一些关于“没有重复”的事情。我建议你看看 DISTINCT。 https://www.sqltutorial.org/sql-distinct/


推荐阅读