-1

我正在尝试在 SQL 中编写一个 select 语句,它将在数据库中搜索具有 2 个单独代码的重复记录。换句话说,它的伪代码将是

选择 m_code = J 或 T 的发票编号。这将为我提供两次发票编号 2345,一次使用代码 J,一次使用代码 T。

4

2 回答 2

0

如果您正在寻找特定代码,那么您可以使用带有 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

于 2013-08-28T18:02:20.863 回答
0
Select invoice_numbers,COUNT(DISTINCT m_code) as CNT
FROM TABLE where m_code in('J','T')
GROUP BY invoice_numbers
HAVING CNT >1;

小提琴

于 2013-08-28T18:03:07.097 回答