我正在尝试在 SQL 中编写一个 select 语句,它将在数据库中搜索具有 2 个单独代码的重复记录。换句话说,它的伪代码将是
选择 m_code = J 或 T 的发票编号。这将为我提供两次发票编号 2345,一次使用代码 J,一次使用代码 T。
我正在尝试在 SQL 中编写一个 select 语句,它将在数据库中搜索具有 2 个单独代码的重复记录。换句话说,它的伪代码将是
选择 m_code = J 或 T 的发票编号。这将为我提供两次发票编号 2345,一次使用代码 J,一次使用代码 T。
如果您正在寻找特定代码,那么您可以使用带有 HAVING 和 GROUP BY 的 WHERE 子句过滤器:
select invoice
from yourtable
where m_code in ('J', 'T')
group by invoice
having count(distinct m_code) > 1;
但是,如果您想退回任何两个重复的发票,m_codes
那么您可以使用:
select invoice
from yourtable
group by invoice
having count(distinct m_code) > 1;
请参阅带有两个查询的演示的 SQL Fiddle
Select invoice_numbers,COUNT(DISTINCT m_code) as CNT
FROM TABLE where m_code in('J','T')
GROUP BY invoice_numbers
HAVING CNT >1;