从多个MYSQL表中选择嵌套数据

时间:2014-06-03 14:35:30

标签: jquery mysql select jointable

我必须从多个表中选择嵌套数据。

我的桌子是betting_sport,betting_groups,betting_leagues和betting_matches。

每项运动都有很多小组,小组有很多联赛,联赛有很多比赛。

This is screenshot for my tables

我想为 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
                        )
                )
            )

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