Re: [GENERAL] More efficient INs when comparing two columns

2005-09-21 Thread Roman Neuhauser
# [EMAIL PROTECTED] / 2005-09-20 20:45:21 +0200:
> I was thinking if this was possible in some way..
> I have this table where we have X and Y coordinates, and i need to
> select several in one go.
> 
> # select * from xy where (x = 1 and y = 2) or (x = 2 and y = 2);
> 
> This works but are not so nice looking.
> It would be nice to be able to do it like this:
> 
> # select * from xy where (x, y) in ((1, 2), (2, 2));
> 
> But that doesn't work.
> A funny thing is that this works:
> 
> # select * from xy where (x, y) = (1, 2);
> 
> What's the most efficient way of doing these kind of selects?

You'd need to write that as

(x, y) IN VALUES (1, 2), (2, 2)

Unfortunately, PostgreSQL's support for table value constructors
is very weak.

-- 
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man.  You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


[GENERAL] More efficient INs when comparing two columns

2005-09-20 Thread Magnus Naeslund(t)
I was thinking if this was possible in some way..
I have this table where we have X and Y coordinates, and i need to
select several in one go.

# select * from xy where (x = 1 and y = 2) or (x = 2 and y = 2);

This works but are not so nice looking.
It would be nice to be able to do it like this:

# select * from xy where (x, y) in ((1, 2), (2, 2));

But that doesn't work.
A funny thing is that this works:

# select * from xy where (x, y) = (1, 2);

What's the most efficient way of doing these kind of selects?
A multicol index on x and y is what we currently do and the first select
above...

Regards,
Magnus


---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings