Thread: [SQLObject] Multiple ORDER BY statements?
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <umi...@gm...> - 2005-07-06 15:26:16
|
Hi, Is it possible to use multiple "order by" statements with SQLObject? The aim is produce a SQL statement similar to "SELECT * FROM a_table ORDER BY date1 DESC, priority ASC". Regards, Umit |
From: Oleg B. <ph...@ma...> - 2005-07-06 15:35:32
|
On Wed, Jul 06, 2005 at 06:25:59PM +0300, ?mit ?ztosun wrote: > Is it possible to use multiple "order by" statements with SQLObject? > The aim is produce a SQL statement similar to "SELECT * FROM a_table > ORDER BY date1 DESC, priority ASC". Yes, it is possible. Use list or tuple for orderBy. With expressions: ATable.select(orderBy=[DESC(ATable.q.date1), ATable.q.priority]) or with strings: ATable.select(orderBy=["-date1", "priority") Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Nigel K. <nig...@or...> - 2005-07-06 16:58:45
|
Oleg, Please could you look at the bracketing in your response here. Nigel King On 6 Jul 2005, at 16:35, Oleg Broytmann wrote: > On Wed, Jul 06, 2005 at 06:25:59PM +0300, ?mit ?ztosun wrote: >> Is it possible to use multiple "order by" statements with SQLObject? >> The aim is produce a SQL statement similar to "SELECT * FROM a_table >> ORDER BY date1 DESC, priority ASC". > > Yes, it is possible. Use list or tuple for orderBy. With expressions: > > ATable.select(orderBy=[DESC(ATable.q.date1), ATable.q.priority]) > > or with strings: > > ATable.select(orderBy=["-date1", "priority") > > Oleg. > -- > Oleg Broytmann http://phd.pp.ru/ > ph...@ph... > Programmers don't die, they just GOSUB without RETURN. > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > sqlobject-discuss mailing list > sql...@li... > https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss > |
From: Oleg B. <ph...@ma...> - 2005-07-06 17:18:55
|
On Wed, Jul 06, 2005 at 05:58:36PM +0100, Nigel King wrote: > Please could you look at the bracketing in your response here. ATable.select(orderBy=[DESC(ATable.q.date1), ATable.q.priority]) # ok ATable.select(orderBy=["-date1", "priority"]) # fixed Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Evandro V. M. <ev...@as...> - 2005-07-06 21:36:24
|
Hi all !! I'm running this script and got the select statement bellow. It seens that SQLObject query constructor is not adding a comma to separate different tables. from sqlobject import * from sqlobject.sqlbuilder import * from config import conn __connection__ = connectionForURI(conn) __connection__.debug = True class Person(SQLObject): name = StringCol() class Position(SQLObject): name = StringCol() class Individual(SQLObject): cpf = StringCol() person = ForeignKey('Person') position = ForeignKey('Position') def reset(): Person.dropTable(ifExists=True, cascade=True) Person.createTable() Position.dropTable(ifExists=True, cascade=True) Position.createTable() Individual.dropTable(ifExists=True, cascade=True) Individual.createTable() reset() q1 = LIKE(Person.q.name, "%Jo%") q2 = Individual.q.positionID == Position.q.id query = AND(q1, q2) join = INNERJOINOn(Person, Individual, Person.q.id == Individual.q.personID) result = Individual.select(query, join=join, distinct=True) I got this SQL statement and as you can see a comma is missing there: SELECT DISTINCT individual.id, individual.person_id, individual.cpf, individual.position_id FROM position person INNER JOIN individual ON (person.id = individual.person_id) WHERE ((person.name LIKE '%Jo%') AND (individual.position_id = position.id)) The error is: psycopg.ProgrammingError: ERROR: missing FROM-clause entry for table "position" Any suggestions ? Am I doing something wrong or is this a bug in SQLObject ? Thanks. -- Evandro Vale Miquelito : ev...@as... Async Open Source - Brazil | http://www.async.com.br |
From: Oleg B. <ph...@ma...> - 2005-07-07 04:39:42
|
On Wed, Jul 06, 2005 at 06:35:13PM -0300, Evandro Vale Miquelito wrote: > I got this SQL statement and as you can see a comma is missing there: > > SELECT DISTINCT individual.id, individual.person_id, individual.cpf, > individual.position_id FROM position person INNER JOIN individual ON > (person.id = individual.person_id) WHERE ((person.name LIKE '%Jo%') AND > (individual.position_id = position.id)) Looks good for my eyes. Where do you want an additional comma? > The error is: > psycopg.ProgrammingError: ERROR: missing FROM-clause entry for table > "position" Ouch! > Any suggestions ? Am I doing something wrong or is this a bug in > SQLObject ? I don't know yet. I'll look into it tomorrow. Meanwhile tell me, please, the versions of SQLObject Postgres psycopg Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Ksenia M. <kse...@gm...> - 2005-07-07 07:49:24
|
> Looks good for my eyes. Where do you want an additional comma? I think here: "FROM position person " --=20 Ksenia |
From: Oleg B. <ph...@ma...> - 2005-07-07 09:34:48
|
On Thu, Jul 07, 2005 at 09:41:50AM +0200, Ksenia Marasanova wrote: > > Looks good for my eyes. Where do you want an additional comma? > > I think here: "FROM position person " Ah, I see. Thank you, Sharp Eye! Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Evandro V. M. <ev...@as...> - 2005-07-07 12:58:00
|
> I don't know yet. I'll look into it tomorrow. Meanwhile tell me, please, > the versions of > SQLObject > Postgres > psycopg > > Oleg. Hi Oleg !! I'm using SQLObject revision 825 in trunk, PostgresSQL 7.4.7 and psycopg version 1.1.18. Thanks for help. -- Evandro Vale Miquelito : ev...@as... Async Open Source - Brazil | http://www.async.com.br |
From: Oleg B. <ph...@ph...> - 2005-07-14 08:43:03
|
On Wed, Jul 06, 2005 at 06:35:13PM -0300, Evandro Vale Miquelito wrote: > SELECT DISTINCT individual.id, individual.person_id, individual.cpf, > individual.position_id FROM position person INNER JOIN individual ON > (person.id = individual.person_id) WHERE ((person.name LIKE '%Jo%') AND > (individual.position_id = position.id)) Fixed. Committed at revision 827. Please test. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Evandro V. M. <ev...@as...> - 2005-07-14 11:40:03
|
Oleg Broytmann wrote: > On Wed, Jul 06, 2005 at 06:35:13PM -0300, Evandro Vale Miquelito wrote: > >>SELECT DISTINCT individual.id, individual.person_id, individual.cpf, >>individual.position_id FROM position person INNER JOIN individual ON >>(person.id = individual.person_id) WHERE ((person.name LIKE '%Jo%') AND >>(individual.position_id = position.id)) > > > Fixed. Committed at revision 827. Please test. > > Oleg. Everything is fine. Thanks a lot Oleg. Evandro Vale Miquelito : ev...@as... Async Open Source - Brazil | http://www.async.com.br |
From: Oleg B. <ph...@ph...> - 2005-07-14 11:51:19
|
On Thu, Jul 14, 2005 at 08:39:51AM -0300, Evandro Vale Miquelito wrote: > Everything is fine. Thank you for the report. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |