-1
**Sub Menu**
id|title
1 | Sub A

**Root_Sub**
id|root_id|sub_id
1 |9      |1


**Root Menu**
id|title
9 | Root X

サブメニューのルート メニューの ID を調べる必要があります。

これを行うには、次を使用します。

SELECT * FROM sub_menu LEFT JOIN root_sub ON sub_menu.id = root_sub.sub_id

これにより、ID として '9' が得られます。

しかし、ルート メニューのタイトルも取得する必要があります。つまり、'Root X' というタイトルを取得する必要があります。これどうやってするの?

4

2 に答える 2

1
SELECT  a.ID AS subID,
        a.title AS SubTitle,
        c.ID AS RootID,
        c.Title as RootTitle
FROM    sub_Menu a
        INNER JOIN root_sub b
            On a.ID = b.sub_ID
        INNER JOIn root_Menu c
            ON b.root_ID = c.ID

すべてのレコードが他のテーブルで少なくとも 1 つの一致を持っている場合は、 を使用することをお勧めしますINNER JOINが、1 つがnullableの場合は、に変更INNER JOINします。LEFT JOIN

于 2013-01-21T15:29:52.427 に答える
0
SELECT *
FROM sub_menu
LEFT JOIN root_sub ON sub_menu.id = root_sub.sub_id
LEFT JOIN root_menu ON root_sub.root_id = root_menu.id   
于 2013-01-21T15:29:43.663 に答える