本人小白没有学过SQL,无奈现在需要这个技能自学了一下,但是写了答案之后交给老板还是不对,请求各位SQL大神们帮忙看看这道题答案应该怎么写好吗???这个对我真的特别重要,不胜感激啊

解决方案 »

  1.   

    1,
    select count(b.order_id),
           count(distinct b.user_id),
           avg(current_price)
    from deal a,order b
    where a.deal_id=b.deal_id
      and a.deal_id=3423829
      and sysdate between to_date(deal_start_time yyyy-mm-dd hh24:mi:ss)  
      and to_date(deal_expire_time yyyy-mm-dd hh24:mi:ss) ;
      

  2.   

    2,select b.user_id
    from deal a,order b
    where a.deal_id=b.deal_id
     -- and a.deal_id=3423829
      and sysdate between to_date(deal_start_time yyyy-mm-dd hh24:mi:ss)  
      and to_date(deal_expire_time yyyy-mm-dd hh24:mi:ss)
    group by  b.user_id
    having count(b.user_id)>1;
      

  3.   

     select * from deal a where a.deal_id exists(
    select b.user_id from order b 
    where to_date(create_tim,'yyyy-mm-dd hh24:mi:ss') between to_date(deal_start_time,'yyyy-mm-dd hh24:mi:ss') and to_date(deal_expire_time yyyy-mm-dd,'hh24:mi:ss')
    group by b.deal_id,b.user_id having count(*)>1
    )
      

  4.   

    请问您用的是什么软件编译的啊?我下了个sql server 但是一直让我链接服务器,我没有服务器,只是想自己建个表和库试试看,这种应该装什么软件呀?谢谢
      

  5.   

    我们用的oracle,和oracle和sql server在sql语句上是有一些区别的。你如果安装了sql server的话,那你在本地配置一个数据库,然后才是建表
      

  6.   

    嗯嗯,我对数据库不是很懂,自己看书学的,学的结果就是我上图拍照发的那个语法,我这个是oracle的语法吧?另外,下载oracle是不是要下载一个oracle本地库,再装PLsql之类的编译呢?
      

  7.   

    getdate是sql server的语法
      

  8.   

    嗯嗯,其实第二问复购清单的明细,是既要表格deal的 也要order么?我感觉题意理解起来都有些费解...而且一个团单,单价不是一样么,为什么还要求平均值,.,.
      

  9.   

    oracle和sql server都可以,但是用哪个数据库就要写符合其语法的sql语句。别的没什么差别,作为本地测试足够了。另外,最好和你们公司使用的数据库保持一致
      

  10.   

    嗯 但是有复购的团单明细  是指什么内容啊?是输出order表的内容 还是要输出deal表的内容?
      

  11.   

    @ghx287524027, 请问having count(*)>1 这个怎么理解啊?
      

  12.   

    突然发现我装的SQL server 没有配置本地库,根本不知道怎么配置