我有两张桌子:
表1:
CustomerID CustomerName Address IP
================================================================
87 Wartian Herkku Torikatu 38 1.1.1.1
567 Wartian Herkku Torikatu 38 1.1.1.1
778 Wartian Herkku Torikatu 38 1.1.1.1
88 Wellington Importadora Rua do Mercado, 4 2.2.2.2
6732 Wellington Importadora Rua do Mercado, 4 2.2.2.2
10 White Clover Markets 305 - 14th Ave. 5 3.3.3.3
表2:
CustomerID CustomerName Address IP
==============================================================
778 Wartian Herkku Torikatu 38 1.1.1.1
6732 Wellington Importadora Rua do Mercado, 4 2.2.2.2
10 White Clover Markets 305 - 14th Ave. 5 3.3.3.3
Table1的客户拥有多个customerID,但IP是唯一的。合并来自Table1的customerID后,我得到Table2。
我想要Table2中已解析的记录的计数,它在SQL(Oracle)中的表1中只有一个条目??
如果两个表都有一个类似" City"的列,例如
市
========
伦敦
伦敦
伦敦
巴黎
巴黎
纽约
解决方案怎么样?
答案 0 :(得分:0)
您可以在count
上使用带有条件的having子句来查找table1中出现一次的记录,然后使用in
条件过滤table2:
SELECT *
FROM table2
WHERE CustomerName IN (SELECT CustomerName
FROM table1
GROUP BY CustomerName
HAVING COUNT(*) = 1)
答案 1 :(得分:0)
"直接"回答你的问题似乎是:
select count(*)
from table2 t2
where t2.CustomerName in (select t1.CustomerName
from Table1 t1
group by t1.CustomerName
having count(*) = 1
);