Thanks for your help,Rick.
Followed your advice, I've solved the problem. Following is the
solution:

select([table_name]).order_by(case([(table_name.c.s_date==None,table_name.c.f_date)],else_=table_name.c.s_date))

Thanks again :)



On 11月9日, 上午1时48分, "Rick Morrison" <[EMAIL PROTECTED]> wrote:
> Most database engines support a couple of  SQL functions that help in cases
> like this, read your database docs for either the ISNULL or the COALESCE
> function.
>
> Another technique is to use an SQL CASE statement.
>
> For all three methods the idea is to supply a default value to substitute
> when the value in question is NULL.
>
> In your case that substituted value would be the value of the 'f_date'
> column, so in essence the logic would be "use the value of 's_date'
> if it's NOT NULL, otherwise use the value of 'f_date'".
>
> SA has constructs for both the SQL function method and the CASE statemen
> method; all are documented (well, I think the CASE is....)
>
> Rick
>
> On 11/8/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > a table, say like this:
> > name      f_date            s_dtae
> > ------------------------------------------------
> > name1    2007-10-01       null
> > name2    2007-06-03       2007-10-07
> > name3    2007-09-20       null
> > name4    ...                   ...
>
> > the 'f_date' column always contains a value but the 's_date' can
> > sometimes be null.
> > now I want to get a collection -- all items will be in it and if the
> > 's_date' is not null it must
> > be ordered with 'f_date' of those the 's_date' is null. Just like
> > this:
>
> > name       f_date            s_date
> > -----------------------------------------------
> > name3     2007-09-20     null
> > name1     2007-10-01     null
> > name2     2007-06-03     2007-10-07
>
> > any idea? use "select" query....maybe with 'UNION'?
> > thanks in advance!
>
> > artman- 隐藏被引用文字 -
>
> - 显示引用的文字 -


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to