Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to get this select results into one row?
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Divers
Thread ID:
01037238
Message ID:
01037250
Vues:
22
Yiipeee!!! I found it. I added
SELECT SUM( totalcost), SUM(rejectcost)  FROM (;
as a first row and an AS clause in the end and I got the result in just one row.

>The following select results in one row for each subquery like this:
>
>    Totalcost    Rejectcost
>     82,9786         0,0000
>    213,0541        24,2904
>    315,0541        38,1831
>
>but I would like to have the result in only one row like this:
>
>    Totalcost    Rejectcost
>    611,0868        62,4735
>
>Anyone know how?
>
>Select SUM(Ins_fitting.nquantity*Fittings.ncost) As totalcost, SUM(CAST(0000000.00 as Currency)) as rejectcost ;
>	FROM ;
>	appdata!Fittings ;
>	INNER Join appdata!Ins_fitting ;
>	ON  Fittings.Primary = Ins_fitting.fittingsid ;
>	INNER Join appdata!Fitt_type ;
>	ON  Fitt_type.Primary = Fittings.fitt_typid ;
>	INNER Join appdata!Material ;
>	ON  Material.Primary = Fittings.materialid ;
>	INNER Join appdata!Units ;
>	ON  Units.Primary = Fittings.iunitsid ;
>	INNER Join appdata!mater_type ;
>	ON  mater_type.Primary = Material.mat_typeid;
>	WHERE  Ins_fitting.insulatorid = ( ?vp_InsulatorID );
>UNION ;
>Select ;
>SUM(((Ins_mtrl.nquantity*ncost_unit)/((100-(Iif(Material.lreject1,Insulators.rej_perc1,000.0)+ ;
>IIF(Material.lreject2,Insulators.rej_perc2,000.0)+Iif(Material.lreject3,Insulators.rej_perc3,000.0)+ ;
>IIF(Material.lreject2b,Insulators.rej_perc2b,000.0)))/100))) As totalcost, ;
>SUM(((Ins_mtrl.nquantity*ncost_unit)/((100-(Iif(Material.lreject1,Insulators.rej_perc1,000.0)+ ;
>IIF(Material.lreject2,Insulators.rej_perc2,000.0)+Iif(Material.lreject3,Insulators.rej_perc3,000.0)+ ;
>IIF(Material.lreject2b,Insulators.rej_perc2b,000.0)))/100))-Ins_mtrl.nquantity*ncost_unit) As rejectcost ;
>  FROM  ;
>  appdata!Mater_type ;
>  INNER Join appdata!Material  ;
>  On Mater_type.Primary = Material.mat_typeid ;
>  INNER Join appdata!Units   ;
>  On  Units.Primary = Material.iunitsid    ;
>  INNER Join appdata!Ins_mtrl   ;
>  On  Material.Primary = Ins_mtrl.materialid ;
>  INNER Join appdata!Insulators ;
>  On  Insulators.Primary = Ins_mtrl.insulatorid   ;
>  WHERE  Ins_mtrl.insulatorid = ( ?vp_InsulatorID ) ;
>UNION ;
>SELECT ;
>SUM(((Ins_operat.nquantity*(Prodgroup.nmatercost+Prodgroup.nwages+Prodgroup.nenergycost+Prodgroup.nexpenses))/;
>((100-(Iif(Prodgroup.lreject1,Insulators.rej_perc1,000.0)+ IIF(Prodgroup.lreject2,Insulators.rej_perc2,000.0)+;
>Iif(Prodgroup.lreject3,Insulators.rej_perc3,000.0)+ IIF(Prodgroup.lreject2b,Insulators.rej_perc2b,000.0)))/100))) As totalcost,;
>SUM(((Ins_operat.nquantity*(Prodgroup.nmatercost+Prodgroup.nwages+Prodgroup.nenergycost+Prodgroup.nexpenses))/;
>((100-(Iif(Prodgroup.lreject1,Insulators.rej_perc1,000.0)+ IIF(Prodgroup.lreject2,Insulators.rej_perc2,000.0)+;
>Iif(Prodgroup.lreject3,Insulators.rej_perc3,000.0)+ IIF(Prodgroup.lreject2b,Insulators.rej_perc2b,000.0)))/100))-;
>(Ins_operat.nquantity*(Prodgroup.nmatercost+Prodgroup.nwages+Prodgroup.nenergycost+Prodgroup.nexpenses))) As rejectcost ;
> FROM  ;
> appdata!insulators  ;
> INNER JOIN appdata!ins_operat  ;
> ON  Insulators.primary = Ins_operat.insulatorid  ;
> INNER JOIN appdata!prodgroup  ;
> ON  Prodgroup.primary = Ins_operat.prodgrpid  ;
> INNER JOIN appdata!units  ;
> ON  Prodgroup.iunitid = Units.primary  ;
> INNER JOIN appdata!prodline  ;
> ON  Prodline.primary = Prodgroup.iavsnid ;
> WHERE  Ins_operat.insulatorid = ( ?vp_InsulatorID )
>
>
/Torgny
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform