wjc_3306 2010-07-07 12:39
浏览 243
已采纳

请问这条sql怎么调?

[code="java"]
select a1.a1_num,a1.a1_field2,a1.a1_field11,a7.a7_lot,a7.a7_date,sum(a7_count)
from a7,a1

where a1.a1_id=a7.a1_id and a1.a1_id in (select a1.a1_id,a1.a1_field11
//问题在这里 我要返回id结果集, select 后面如果不写"a1.a1_field11"这个字段的话 having语句又无法执行

                                            from a1,a7 
                                     where a1.a1_id=a7.a1_id 
                                     group by a7.a1_id 
                                     having a1.a1_field11>sum(a7_count)) 

group by a7.a7_lot,a7.a1_id
order by a7.a1_Id;

//实在对不起 没分了 非常感谢您的回答
[/code]

  • 写回答

2条回答 默认 最新

  • iteye_5916 2010-07-07 13:30
    关注

    看再嵌一层是否可以:
    [code="java"]
    select a1.a1_num,
    a1.a1_field2,
    a1.a1_field11,
    a7.a7_lot,
    a7.a7_date,
    sum(a7_count)
    from a7, a1
    where a1.a1_id = a7.a1_id
    and a1.a1_id in
    (select kk.a1_id
    from (select a1.a1_id, a1.a1_field11
    from a1, a7
    where a1.a1_id = a7.a1_id
    group by a7.a1_id
    having a1.a1_field11 > sum(a7_count)) kk)
    group by a7.a7_lot, a7.a1_id
    order by a7.a1_Id;
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?