2014-03-28 70 views
0

假设表1具有名为“class”的列。查询来获取“类”的所有不同值:Oracle SQL:从表1中获取不同的列值,从表2中获取每个值的计数

::从表1中选择不同类

现在有表2中,其中有3行与“A”级,2行带班“b”和5行,类为“c”。

什么应该是可以查询表1的嵌套查询,在此示例中获取“class”列的所有不同值,即{a,b,c}。并且从table2中获得table1中每个不同类的计数。输出应该是这个样子:


类计数

B 2
的C 5

回答

4
SELECT 
    Table1.Class, 
    COUNT(Table2.Class) 
FROM 
    Table1 
    LEFT JOIN Table2 ON Table1.Class = Table2.Class 
GROUP BY 
    Table1.Class