Query optimization to select rows instead of too many or conditions

From: Arup Rakshit <aruprakshit(at)rocketmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Query optimization to select rows instead of too many or conditions
Date: 2015-02-21 08:34:49
Message-ID: 11491969.5OFzSH82DR@linux-wzza.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

Suppose I want to select the rows from a table, say Emp, as below :

Select * from Emp
where (attr1 = val11 and attr2 = val12 and attr3 = val13) or (attr1 = val14and attr2 = val15 and attr3 = val16);

Now suppose I got (x1, x2, x3) and (y1, y2, y3). Then I need to rewrite my query as :

Select * from Emp
where (attr1 = val11 and attr2 = val12 and attr3 = val13) or (attr1 = val14 and attr2 = val15 and attr3 = val16) or
(attr1 = x1 and attr2 = x2 and attr3 = x3) or (attr1 = y1 and attr2 = y2 and attr3 = y3);

So for each new set I need to add one more `or` conditions. It seems wired.

Any better way to get it done ?

--
================
Regards,
Arup Rakshit
================
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

--Brian Kernighan

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Arup Rakshit 2015-02-21 11:03:52 Re: Query optimization to select rows instead of too many or conditions
Previous Message Ken Tanzer 2015-02-21 04:08:35 Re: Array string casts with SELECT but not SELECT DISTINCT