我正在寻找方案的查询,如下: 分类帐表
Invoice No. Date Amount OfficeCode
101 01-01-2013 100.00 LONDON
102 01-02-2013 100.00 LONDON
102 04-02-2013 1100.00 LEEDS
103 11-03-2013 100.00 LONDON
103 19-04-2013 150.00 LEEDS
104 01-01-2013 100.00 LONDON
我需要一个t-sql,它只返回发票102和103的发票记录,因为这些发票存在于同一个表中的多个办公室。
我尝试过自我加入,但我遗漏了一些没有给我回复的东西。
感谢您的提前帮助
答案 0 :(得分:3)
假设记录103是拼写错误,您可以使用GROUP BY
获得所需的结果:
SELECT InvoiceNo
FROM Ledger
GROUP BY InvoiceNo
HAVING COUNT(DISTINCT OfficeCode) > 1
答案 1 :(得分:0)
我相信这就是你要找的东西。
SELECT *
FROM Ledger
WHERE InvoiceNo IN
(
SELECT InvoiceNo
FROM Ledger
GROUP BY InvoiceNo
HAVING COUNT(1) > 1
)