mysql-select,在var中存储,在同一查询中选择

s5a0g9ez  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(247)

我想知道怎么做。找不到多少帮助。
我有两张table。第一张table:

CREATE TABLE `first` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) NOT NULL DEFAULT '0',     
  PRIMARY KEY (`id`)
)

第二张table:

CREATE TABLE `second` (
  `id` int(11) NOT NULL,
  `foo` varchar(3) NOT NULL ,
  `bar` varchar(255) NOT NULL )

两个表中的id是相同的值,它们是这样关联的。我必须获取一些条目,例如父项id为“0”的条目,并检查这些条目是否有子项。如果他们有我也应该拿到他们的身份证。
它可以很容易地完成与小php和两个查询,但我想做得更好。我试过这样的方法:

SELECT `first`.*, `second`.*, children.*
FROM `first`
JOIN `second` ON `second`.id = `first`.id 
INNER JOIN( SELECT 
            // Something
            )AS children ON children.id = `second`.id
WHERE `first`.parent_id = '0'
GROUP BY `first`.id, `second`.la

但我没有成功。如何在同一查询中选择这些结果及其子级?谢谢!
先编辑:

-------------------------------------------------
| id       |  parent_id     |
--------------------------------------------------
| 1        |  0             |
--------------------------------------------------
| 2        |  1             |
--------------------------------------------------
| 3        |  2             |
--------------------------------------------------
| 4        |  1             |
--------------------------------------------------

第二张table:

-------------------------------------------------
    | id       |  foo           |  name
    --------------------------------------------------
    | 1        |  asd           |  apple
    --------------------------------------------------
    | 2        |  asd           |  banana
    --------------------------------------------------
    | 3        |  gsf           |  orange
    --------------------------------------------------
    | 4        |  gre           |  potato
    --------------------------------------------------

期望的结果是得到id为1的行(合并了两个表)和父id为1的行的所有id。
谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题