Ciao a tutti, mi sono appena registrato su consiglio di un amico, spero di avere le risposte che cerco.
Due tabelle, quasi uguali, in un db mysql:
dotable_a
ID=======ES=======DATE===============ZN=======LINE_MT
12881====DO60===== 2010-02-26======== DO6P===== DO6015055-TERZIGNO
12882==== DO60===== 2010-02-26======== DS1M===== DS1003405-DOLIANOVA
12883==== DO60===== 2010-02-26========DI5N===== DI5020317-CAVET
12884==== DO60===== 2010-02-26======== DI5N===== DI5020317-CAVET
12885==== DO60===== 2010-02-26======== DI5N===== DI5020317-CAVET
12886==== DO60===== 2010-02-26======== DI5N===== DI5020317-CAVET
dotable_b
ID=======DATE===============ES=======DATA==============LINE
31608====2010-02-26=========DO60=====2010-02-26========DI5020317
31609==== 2010-02-26=========DO60=====2010-02-26========DO6007125
Dovrei generare questo output:
r=================line_a===line_b====q========zn
DI5020317========= 4=========1=========5========DI5N
DO6007125 ========= 0=========1=========1========NULL
DS1003405 ========= 1======== =0=========1========DS1M
DO6015055========= 1=========0=========1========DO6P
Ma per la seguente query il campo 'zn' è sempre 'null'... cosa sbaglio?:
select zn=2 as zn, substring_index(line,'-',1) as r,
sum(if(dove=1,1,0)) as line_a,
sum(if(dove=2,1,0)) as line_b,
count(substring_index(line,'-',1)) as q from (
select NULL AS zn, line, 1 as dove from dotable_b
union all
select zn, line_mt, 2 as dove from dotable_a
) as tab
group by r
having q > 3
order by q desc
Grazie per l'attenzione.
Saluti
Modificato da cms9651 il 27 febbraio 2010 16.19 -