Same query, one difference

Reply

Join Date: Dec 2007
Posts: 2
Reputation: natashenka_66 is an unknown quantity at this point 
Solved Threads: 0
natashenka_66 natashenka_66 is offline Offline
Newbie Poster

Same query, one difference

 
0
  #1
Dec 2nd, 2007
Hello!
I have a query with multiple table joints and where clauses. Tables are huge and query runs for a very long time. I need to run another query, which is exactly the same apart for one Where clause (first time price = "P", second time price = "S"). I use this for BIRT report, which means I need to have a result of there two queries at the same time. I can run them at the same time, but because they are both huge it takes a Long time. I wonder if I can make only one query, will it be faster? And if it will- what’s the best way to make it?
Thank you for your help!
Please let me know if it is not clear.
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 3,749
Reputation: nav33n is a jewel in the rough nav33n is a jewel in the rough nav33n is a jewel in the rough 
Solved Threads: 331
Moderator
Featured Poster
nav33n's Avatar
nav33n nav33n is offline Offline
Senior Poster

Re: Same query, one difference

 
0
  #2
Dec 3rd, 2007
Since you want to run exactly the same query and check only for one condition, you can do it this way.

  1. $query="select * from huge_table where conditions joins etc";
  2. $result=mysql_query($query);
  3. $price_p=array();
  4. $price_s=array();
  5. while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
  6. if($row['price']=="P"){
  7. array_push($price_p,$row['price']);
  8. }
  9. if($row['price']=="S"){
  10. array_push($price_s,$row['price']);
  11. }
  12. }

So, by the end of the execution of this query, you will have 2 arrays, 1 with price=p values and the other with price=s values.

Cheers,
Naveen.
Ignorance is definitely not bliss!

*PM asking for help will be ignored*
Reply With Quote Quick reply to this message  
Join Date: Dec 2007
Posts: 2
Reputation: natashenka_66 is an unknown quantity at this point 
Solved Threads: 0
natashenka_66 natashenka_66 is offline Offline
Newbie Poster

Re: Same query, one difference

 
0
  #3
Dec 3rd, 2007
Thank you for your reply, but i wasn't clear.
Roughly my code:
  1. SELECT * FROM sales_item d
  2.  
  3.  
  4.  
  5. JOIN (SELECT STR_TO_DATE('2007-09-30', '%Y-%m-%d') st_date) v
  6.  
  7.  
  8.  
  9. JOIN item_store f on f.item_no=d.item_no AND f.store_id = d.store_id
  10.  
  11.  
  12.  
  13. JOIN item_sellprice_store a on f.item_no=a.item_no AND f.store_id = a.store_id
  14.  
  15.  
  16.  
  17. JOIN item b on f.item_no=b.item_no
  18.  
  19.  
  20.  
  21. JOIN item_supplier c on b.item_no=c.item_no AND b.supplier_no=c.supplier_no
  22.  
  23.  
  24.  
  25. JOIN item_sellprice_storegroup g on a.batch_id=g.batch_id
  26.  
  27.  
  28.  
  29.  
  30.  
  31. JOIN store k on f.store_id =k.store_id
  32.  
  33.  
  34.  
  35. WHERE d.store_id = '011'
  36.  
  37.  
  38.  
  39. AND (f.item_status ='A' OR f.item_status ='O')
  40.  
  41.  
  42.  
  43. AND a.price_type='P'
  44.  
  45.  
  46.  
  47. AND a.effective_start_date < v.st_date < a.effective_end_date
  48.  
  49.  
  50.  
  51. AND d.sale_date = v.st_date
  52.  
  53.  
  54.  
  55. ORDER BY d.category_code, a.sell_gst, a.item_no ;

And the second one is exactly the same apart from highlighted line (it▓s a.price_type='S')

I need a query, not a script.
Thank you so much.
Last edited by natashenka_66; Dec 3rd, 2007 at 5:46 pm.
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 3,749
Reputation: nav33n is a jewel in the rough nav33n is a jewel in the rough nav33n is a jewel in the rough 
Solved Threads: 331
Moderator
Featured Poster
nav33n's Avatar
nav33n nav33n is offline Offline
Senior Poster

Re: Same query, one difference

 
0
  #4
Dec 4th, 2007
Umm.. I didnt get you. Do you type this query in phpmyadmin/mysql prompt directly without using a php interface ? How do you generate a BIRT report ?What I said was, remove the condition and a.price_type='P' . Then compare the result with the price_type.
Ignorance is definitely not bliss!

*PM asking for help will be ignored*
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the MySQL Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC