首页 > 解决方案 > 将另一个结果集作为别名 MySQL 返回结果

问题描述

我正在寻找一些关于如何为我正在寻找的结果构建 MySQL 查询的建议。

我有 2 个表 tbl_features 和 tbl_feature_content 包含我页面上所需的数据。

tbl_features 保存所有关系信息,其中内容通过父 id 保存到 tbl_feature_content 表,父 id 是 tbl_features 表的 idno。

我正在寻找的是通过其 ID 号从 tbl_features 表中提取单个结果,并在该表中返回该信息以及该别名 page_content 下的 tbl_features_content 表中的结果。

我从表中提取数据的查询如下所示。

SELECT 
feature_idno AS page_idno,                      
feature_title AS page_title
FROM tbl_features WHERE feature_idno = 1;

我如何从 tbl_feature_content WHERE feature_content_parent = feature_idno 中提取所有结果并将其存储为 page_content。

表创建脚本:

CREATE TABLE IF NOT EXISTS `tbl_features` (
  `feature_idno` int(6) unsigned NOT NULL,
  `feature_title` varchar(200) NOT NULL,
  PRIMARY KEY (`feature_idno`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `tbl_feature_content` (
  `feature_content_idno` int(6) unsigned NOT NULL,
  `feature_content_parent` int(6) unsigned NOT NULL,  
  `feature_content_description` varchar(200) NOT NULL,
  PRIMARY KEY (`feature_content_idno`)
) DEFAULT CHARSET=utf8;

样本数据:

tbl_features

feature_idno   feature_title
1              Feature 1
2              Feature 2

tbl_feature_content

feature_content_idno  feature_content_parent    feature_content_description
1                     1                         Something About The Feature 1
2                     1                         Something else About Feature 1
3                     2                         Something About The Feature 2
4                     2                         Something else About Feature 2

SQL 小提琴:http ://sqlfiddle.com/#!9/3a61eb/2

编辑。

我想要实现的是以下。

Page_idno

-- 1

页面标题

-- 特色一

页面内容

--关于功能 1

--关于功能 1 的其他内容

标签: phpmysql

解决方案


听起来好像您在问如何将表格连接在一起 - 像这样:

SELECT 
feature_idno AS page_idno,                      
feature_title AS page_title,
feature_content_description AS page_content
FROM tbl_features
JOIN tbl_feature_content ON feature_idno = feature_content_parent
WHERE feature_idno = 1;

SQLFiddle在这里:http ://sqlfiddle.com/#!9/3a61eb/4


推荐阅读