This is a discussion on More efficient INs when comparing two columns within the Pgsql General forums, part of the PostgreSQL category; --> I was thinking if this was possible in some way.. I have this table where we have X and ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 |
| ||||
| # mag@fbab.net / 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 majordomo@postgresql.org so that your message can get through to the mailing list cleanly |