Changes between Version 2 and Version 3 of Recette SQL SommeEffectifsCiv et SommeEffectifsAgj


Ignore:
Timestamp:
Sep 21, 2010 5:02:38 PM (14 years ago)
Author:
brice
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Recette SQL SommeEffectifsCiv et SommeEffectifsAgj

    v2 v3  
    66 
    77[[BR]] 
     8== Somme des effectifs annuels de civelles sur les deux passes à anguilles  == 
     9{{{ 
     10-- attention cette requête suppose que les coefficients de conversion sont entrés journalièrement 
     11select extract( year from date) as year, 
     12        sum(effectif_total) as effectif_total 
     13        FROM ( 
     14-- sous requête pour joindre les deux tables effectif total et poids sur 
     15-- la base de leur colonne commune date 
     16select case when ope_date_eff is not null then ope_date_eff 
     17                else ope_date  
     18                end as date, 
     19        case when effectif IS NOT null and effectif_from_poids is not null 
     20                        then effectif+poids 
     21                when  effectif is null  
     22                        then  poids 
     23                else  effectif  
     24                end  as effectif_total, 
     25        effectif, 
     26        poids, 
     27        effectif_from_poids, 
     28        coe_valeur_coefficient 
     29 from ( 
     30-- sous requete qui permet de récupérer les effectifs par jour 
     31 SELECT cast(t_operation_ope.ope_date_debut as date) AS ope_date_eff,   
     32 sum(t_lot_lot.lot_effectif) as effectif 
     33   FROM iav.t_operation_ope 
     34   JOIN iav.t_lot_lot ON t_lot_lot.lot_ope_identifiant = t_operation_ope.ope_identifiant 
     35      where ope_dic_identifiant in (6,5,12) 
     36       and lot_tax_code='2038' 
     37       and lot_std_code='CIV' 
     38       and lot_effectif>0 
     39    group by ope_date_eff 
     40    order by ope_date_eff) As effectif_seulement 
     41full outer join ( 
     42-- sous requete pour extraire les quantités de lots par jour  
     43-- elle suppose que les valeurs de quantités de lots sont par jour 
     44SELECT ope_date, round(poids*coe_valeur_coefficient) as effectif_from_poids, poids, coe_valeur_coefficient FROM ( 
     45 SELECT cast(t_operation_ope.ope_date_debut as date) AS ope_date,   
     46 sum(t_lot_lot.lot_quantite) as poids 
     47   FROM iav.t_operation_ope 
     48   JOIN iav.t_lot_lot ON t_lot_lot.lot_ope_identifiant = t_operation_ope.ope_identifiant 
     49      where ope_dic_identifiant in (6,5,12) 
     50       and lot_tax_code='2038' 
     51       and lot_std_code='CIV' 
     52    group by ope_date 
     53  ORDER BY ope_date) AS qte 
     54  left join ( 
     55        select   coe_date_debut, coe_valeur_coefficient from  iav.tj_coefficientconversion_coe 
     56        where coe_qte_code='1' 
     57        and coe_tax_code='2038' 
     58        and coe_std_code='CIV') as coe 
     59on coe_date_debut=ope_date 
     60where poids is not null) as poids_seulement 
     61on poids_seulement.ope_date=effectif_seulement.ope_date_eff) AS effectif_journaliers 
     62group by year; 
     63}}} 
     64||4||1996||4|| 
     65||21||1996||5|| 
     66||21||1996||6|| 
     67||1||1996||7|| 
     68||2||1997||3|| 
     69||64||1997||4|| 
     70||93||1997||5|| 
     71||16||1997||6|| 
     72||9||1997||7|| 
     73||1||1997||9|| 
     74 
     75[[BR]] 
     76== Somme des effectifs d'anguilles en fonction du devenir de lot entre 2002 et 2006 ==