SQL根据特定值的行数打印值

Vis*_*amy 0 sql oracle oracle11g

我有三个表格如下:

--------------------------
Account Number | AGR ID
--------------------------
111               1234
222               2234
---------------------------

 --------------------------
AGR Number | Meter ID
--------------------------
1234              123
2234              223
---------------------------
---------------------------
Meter ID | Meter Read Date
---------------------------
123        2016-01-17
123        2016-03-13
223        2016-11-23
Run Code Online (Sandbox Code Playgroud)

现在我需要打印帐户ID和基于第三个表中可用的仪表读数的值.

对于上面的数据,我需要一个输出,如:

----------------------------------
Account ID  |  Is multiple reads
----------------------------------
111            Y
222            N
Run Code Online (Sandbox Code Playgroud)

Gur*_*ngh 5

GROUP BY而且CASE应该够了

select
    t1.Account_Number,
    case when count(*) > 1 then 'Y' else 'N' end Is_multiple
from table1 t1
inner join table2 t2
on t1.meter_id = t2.meter_id
group by t1.Account_Number;
Run Code Online (Sandbox Code Playgroud)

编辑:

根据修改后的架构,这应该工作:

select
    t1.Account_Number,
    case when count(*) > 1 then 'Y' else 'N' end Is_multiple
from table1 t1
inner join table2 t2
on t1.agr_id = t2.agr_id
inner join table3 t3
on t2.meter_id = t3.meter_id
group by t1.Account_Number;
Run Code Online (Sandbox Code Playgroud)