Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to get this select results into one row?
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01037238
Message ID:
01037250
Views:
21
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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform