我必须从多个表中选择嵌套数据。
我的桌子是betting_sport,betting_groups,betting_leagues和betting_matches。
每项运动都有很多小组,小组有很多联赛,联赛有很多比赛。
我想为 sports-> groups-> leagues 选择嵌套树,这些树只有状态= 1的匹配
我尝试了这个选择,但它不起作用:
select
betting_sport.id as s_id,
betting_sport.title as s_title,
betting_group.id as g_id,
betting_group.title as g_title,
betting_league.id as l_id,
betting_league.title as l_title
from
betting_sport
left join
betting_group
on
betting_group.betting_sport_id = betting_sport.id
left join
betting_league
on
betting_league.betting_group_id = betting_group.id
WHERE
betting_sport.id
IN
(
select betting_sport_id from group where id in (
select
betting_group_id
from
betting_league
where
betting_league.id in (
select betting_league_id from betting_match where status=1
)
)
)
答案 0 :(得分:0)
这些表有一个很好的线性关系结构,因此不需要双嵌套查询..
SELECT *
FROM betting_sport
LEFT JOIN betting_group ON betting_sport.id = betting_group.betting_sport_id
LEFT JOIN betting_league ON betting_group.id = betting_league.betting_groupid
LEFT JOIN betting_match ON betting_league.id = betting_match.betting_league_id
WHERE betting_match.status = 1