我需要获取所选party_id的用户名,但我需要插入而不是party_id,我尝试嵌套子查询,但总是用括号卡住。
我在第二个select中使用这个select而不是gm.party_id:
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:
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中得到了一个无效的标识符错误。
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; 发布于 2018-09-20 19:51:26
您可以使用连接
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发布于 2018-09-20 20:31:25
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;https://stackoverflow.com/questions/52423870
复制相似问题