0

まず第一に、悪いタイトルでごめんなさい。私は少し急いでいて、これ以上良いものは考えられませんでした。

今、私はこのようなテーブルを持っています-

category_id    name        parent_category_id
______________________________________
1              country     0
2              state       1
3              city        2
4              block       3

そして、私は次のような結果が欲しいです-

Name        ParentCategory
___________________________
country     NULL
state       country
city        state
block       city

これで、ロジックはParentCategoryであり、category_idがparent_category_idと等しいカテゴリ名です。(正しく説明したかどうかはわかりません)これについてクエリをたくさん書いてみましたが、どうすればよいかわかりません。

どんな助けでも大歓迎です。

4

4 に答える 4

3

テーブルとそれ自体の結合が必要です。

SELECT child.name, parent.name FROM tbl AS child
    LEFT JOIN tbl AS parent
    ON (child.parent_category__id = parent.category_id);
于 2012-08-30T13:11:31.140 に答える
3
SELECT 
  child.name AS Name,
  parent.name AS ParentCategory
FROM
  yourTableName AS child
  LEFT JOIN yourTableName AS parent ON parent.category_id=child.parent_category_id
于 2012-08-30T13:11:34.613 に答える
1
SELECT   c.name  Name,
         p.name  ParentCategory
FROM  t  c
LEFT JOIN t  p 
ON p.category_id=c.parent_category_id;

このSQLFiddleを参照してください

于 2012-08-30T13:15:16.157 に答える
-1
SELECT t1.name, t2.name FROM table as t1 LEFT JOIN table as t2 ON t1.parent_category_id=t2.category_id
于 2012-08-30T13:11:44.930 に答える