表1:
姓名 年龄 出生日期表2:
姓名 年龄 职业现在想查询两表按年龄降序输出(同年龄的比较出生日期)结果为:
姓名 年龄 出生日期 职业
(同一职业的结果全部输出结束后  输出另一个职业)
各位帮忙,都头痛了一个下午了,还是没想出来怎么写!

解决方案 »

  1.   

    我用一个ADOQuery 能实现吗?
    想把查询结果输出在 suimemo1 里
    suimemo1.Lines.Add(结果)
      

  2.   

    select a.姓名 ,a.年龄 ,a.出生日期,b.职业 from 表1 a ,表2 b where a.姓名=b.姓名 and a.年龄=b.年龄
    order by b.职业 , a.出生日期 用ADOQuery查询后,做个循环
    ADOQuery.first;
    with adoquery do
    begin
      while not ADOQuery eof do
      begin
      suimemo1.Lines.Add:= ADOQuery.fieldbyname('姓名').asstring+ADOQuery.fieldbyname('年龄).asstring;
      next;
      end;
    end;
    另:1.建议在表一中加个字段做为主键,如果名字一样,年龄一样,查询结果就不正确了(因为无法正确的做连接查询)当然 ,这样的话,sql语句也要稍微改改,自己试试,不难。
       2.不要保存年龄,存出生日期比较好.
      

  3.   

    照你这样写了 不管order by asc 还是 desc 都是按照 asc  排序的!
    这个是怎么回事啊!
      

  4.   

    order by b.职业 , a.出生日期
    后面去掉加一个就能正常排序! 你给出的不能正常排序!
      

  5.   

    哥们 咋这激动哩   你还是学生吧  呵呵就是一个sql语句嘛    昨天还搞到12点啊  我以前要是象你这样努力就好了
    asc 和 desc  要使用的话,一次只能对应一个字段
    没有用的话  就默认是ascselect a.姓名 ,a.年龄 ,a.出生日期,b.职业 from 表1 a ,表2 b where a.姓名=b.姓名 and a.年龄=b.年龄
    order by b.职业 desc , a.出生日期  desc再试试还有什么问题?