首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将select插入select

将select插入select
EN

Stack Overflow用户
提问于 2018-09-20 19:14:53
回答 2查看 54关注 0票数 0

我需要获取所选party_id的用户名,但我需要插入而不是party_id,我尝试嵌套子查询,但总是用括号卡住。

我在第二个select中使用这个select而不是gm.party_id

代码语言:javascript
复制
SELECT * FROM (
  select gm.party_id, sum(gm.game_out)
  from game_record gm
  where gm.party_id in (
    select cs.party_id
    from casino_users cs
    where cs.parent_id=get_party_id_from_promo(619)
  ) 
  group by party_id
  order by sum(game_out) desc
)
WHERE ROWNUM <= 10;

我需要插入这个select:

代码语言:javascript
复制
select username
from casino_users
where party_id in (
  select cs.party_id
  from casino_users cs
  where cs.parent_id=get_party_id_from_promo(619)
)

我还有一个从party_id返回用户名的函数,但是当我试图编译它时,我在第一个select中得到了一个无效的标识符错误。

代码语言:javascript
复制
FUNCTION get_top_ten_highscore(p_promo_code number) RETURN WEAK_CUR IS
 resault_set weak_cur;

begin

 open resault_set for

     SELECT * FROM (
       select username_from_id (gm.party_id) as party_id, sum(gm.game_out)
       from game_record gm
       where gm.party_id in (
         select cs.party_id
         from casino_users cs
         where cs.parent_id=get_party_id_from_promo(619)
       ) 
       group by party_id
       order by game_out desc)
    WHERE ROWNUM <= 10;
    return  resault_set ;

end get_top_ten_highscore; 
EN

回答 2

Stack Overflow用户

发布于 2018-09-20 19:51:26

您可以使用连接

代码语言:javascript
复制
    SELECT 
      select gm.party_id, sum(gm.game_out), cs.username
      from game_record gm
      INNER JOIN  casino_users cs ON cs.parent_id=get_party_id_from_promo(619)
      WHERE ROWNUM <= 10;
      group by gm.party_id, cs.username
      order by sum(game_out) desc
票数 0
EN

Stack Overflow用户

发布于 2018-09-20 20:31:25

代码语言:javascript
复制
SELECT * FROM (
            select (select USERNAME FROM CASINO_USERS CU WHERE CU.PARTY_ID = gm.party_id) as username, 
            sum(gm.game_out) from game_record gm 
            where  gm.party_id in (select cs.party_id from casino_users cs where cs.parent_id=load_beting_data.get_party_id_from_promo(619)
            and party_id not in (7808,7810,7817,7818,7819,7821,7824,7825,7827,7823,7830,7812,7822,7831,7826,7829,7809,7811,7820,7828)) 
            group by party_id
            order by sum(game_out)  desc
            )
    WHERE ROWNUM <= 10;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52423870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档