【问题标题】:To get all children and parent using id MySQL使用 id MySQL 获取所有子项和父项
【发布时间】:2016-01-19 00:21:07
【问题描述】:

我有一张名为 group 的表,我想通过使用特定 id 来获取所有孩子和父母:

这是我的表结构:

CREATE TABLE IF NOT EXISTS `group_tbl` (
  `group_id` int(11) NOT NULL AUTO_INCREMENT,
  `group_name` varchar(255) NOT NULL,
  `parent_id` int(11) NOT NULL,
  PRIMARY KEY (`group_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;


INSERT INTO `group_tbl` (`group_id`, `group_name`, `parent_id`) VALUES
(1, 'Test', 0),
(2, 'Test1', 1),
(3, 'Test3', 2),
(4, 'Test4', 3),
(5, 'Test5', 3),
(6, 'Test11', 4);
(7, 'Test12', 0),
(8, 'Test34', 8);

如果我通过 3,则输出将是

(1, 'Test', 0),
(2, 'Test1', 1),
(3, 'Test3', 2),
(4, 'Test4', 3),
(5, 'Test5', 3)
(6, 'Test11', 4);

如何使用单个查询或存储过程或任何 php 函数?

【问题讨论】:

  • 你的预期输出是什么?
  • 深度不具体......它的任何
  • 如果传3为什么会有这样的输出???你想要所有的孩子和所有的父母吗???
  • 我认为使用这种数组结构是不可能的。 stackoverflow.com/questions/990529/…
  • @Legionar:是的,我需要所有级别的孩子和家长。这是我的要求,为什么这很重要?

标签: php mysql


【解决方案1】:
SELECT * FROM `group_tbl` g1 JOIN `group_tbl` g2 ON g1.id=g2.parent_id WHERE g1.id = 3

【讨论】:

  • 无法正常工作,我只需要与 id 3 匹配的记录,它提供所有记录
猜你喜欢
  • 1970-01-01
  • 2015-08-12
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多