Go4Expert

Go4Expert (http://www.go4expert.com/)
-   PHP (http://www.go4expert.com/forums/php/)
-   -   Union/Merge more than one query ! (http://www.go4expert.com/forums/union-merge-query-t5767/)

coool 9Aug2007 18:55

Union/Merge more than one query !
 
Hi

How can I merge the result of few quries that had been unioned ?

example:
SELECT item1,item2,item3 FROM table111 WHERE item2='something' GROUP BY item1
UNION
SELECT item1,item2,item3 FROM table222 WHERE item2='something' GROUP BY item1
UNION
SELECT item1,item2,item3 FROM table333 WHERE item2='something' GROUP BY item1

NOTE:
table111, table222, and table333 has the same structure
always i'm asking for same items to be selected here and for same group by and where statment
the difference is with the table names
each table has different records than the other table

Is there any available code to do this ! any solution !

do you any idea of how doing this, do you have any simple example ?

pradeep 10Aug2007 11:58

Re: Union/Merge more than one query !
 
Create a view for the query and then use group by!

coool 10Aug2007 19:02

Re: Union/Merge more than one query !
 
I've got one solution but still have one more problem

I'm getting the most biggest count from multible tables

this is what i'm using:

PHP Code:

$fields "Status,Count(names)";
$table1 "myTable1";
$table2 "myTable2";
$groupBy "Status";
 
$sql "SELECT * FROM((SELECT * FROM (SELECT $fields FROM $table1 GROUP BY $groupBy)AS $table1) UNION
       (SELECT * FROM(SELECT 
$fields FROM $table2 GROUP BY $groupBy)AS $table2))AS MainTable GROUP BY $groupBy"

so if my first table gives:
status1 = 40 items
status2 = 60 items

and if my second table gives:
status1 = 250
status2 = 20

the result from the above code is:
status1 = 250
status2 = 60

which is not what i'm looking for (it's just outputing the biggest numbers)

i want is this answer:
status1 = 290
status2 = 80

what do you think ? : (

coool 11Aug2007 01:30

Re: Union/Merge more than one query !
 
don't worry

I've figured out the solution

I just needed to used UNION ALL instead of UNION

Thanks :)


All times are GMT +5.5. The time now is 00:24.