2014-11-05 73 views
0

我有一个查询:如何获得每个帐户的一个记录?

select memo_account ,flags_3,SUFFIX,date 
    FROM MEMO 
    left join daily on daily.ACCOUNT= memo.memo_account 
    where flags_3 = 1 and suffix in (08,00) 
    and memo_number =3333 

其即时得到这两个表中的帐户。 我得到的结果在两个行后面的每个帐户基础是00或08.

我怎么会得到它,我可以得到的帐户只显示一次 和后缀取决于如果是00或08在一排?

例如:

memo_account | suffix_00 | suffix_08 |日期

我做了一个http://sqlfiddle.com/#!6/e509b/2

+0

有不同的日期,只是可以肯定:你想要的是返回*后缀*的第一次出现?或*任何*后缀,只要它只有一个? – Barranka 2014-11-05 17:19:28

回答

0
select memo_account, 
     max(case when SUFFIX = '00' then '00' else null end) as suff00, 
     max(case when SUFFIX = '08' then '08' else null end) as suff08, 
     date 
    FROM MEMO 
    left join daily on daily.ACCOUNT= memo.memo_account 
    where flag_3 = 1 and suffix in (08,00) 
    and memo_number =3333 
group by memo_account, date 

你有个约会也,所以你会得到一些额外的行如果同一memo_account

相关问题