Originariamente inviato da r1cky`
E' difficile che su un forum ti rispondano entro un ora...
Comunque te la butto li, secondo me la order by è meglio metterla fuori, in questo modo:
codice:
select distinct cky_art from (SELECT distinct cky_art, dtt_doc, cky_cnt_clfr
FROM zeus_ordc_m INNER JOIN zeus_ordc_d
ON zeus_ordc_m.azienda = zeus_ordc_d.azienda
AND zeus_ordc_m.csg_doc = zeus_ordc_d.csg_doc
AND zeus_ordc_m.ngb_sr_doc = zeus_ordc_d.ngb_sr_doc
AND zeus_ordc_m.ngl_doc = zeus_ordc_d.ngl_doc
WHERE cky_cnt_clfr = '501.00001'
) AS A
order by dtt_doc desc
Poi sinceramente non capisco perchè fai due distinct...
Grazie, hai ragione ma stò uscendo pazzo. Purtroppo non sono molto esperto e mi trovo in difficoltà..
Nella query che mi hai suggerito mi dice che la clausola order by(dtt_doc) è in conflitto con distinct. Giustamente dico io, dato che distinct mi raggruppa i campi.
Quindi se io provo a fare in questo modo:
codice:
select distinct cky_art from(
select cky_art from (SELECT distinct cky_art, dtt_doc, cky_cnt_clfr
FROM zeus_ordc_m INNER JOIN zeus_ordc_d
ON zeus_ordc_m.azienda = zeus_ordc_d.azienda
AND zeus_ordc_m.csg_doc = zeus_ordc_d.csg_doc
AND zeus_ordc_m.ngb_sr_doc = zeus_ordc_d.ngb_sr_doc
AND zeus_ordc_m.ngl_doc = zeus_ordc_d.ngl_doc
WHERE cky_cnt_clfr = '501.00001'
) AS A
order by dtt_doc desc
)
mi vengono restituiti si i codici raggruppati, ma l'ordinamento per data è inevitabilmente perso. E' questo che non riesco a capire.