mysql - 如何使用 JOIN 来做到这一点?或者基因有可能吗?

标签 mysql

我有一张 table pages另外两个名为 page_optionspage_option_values这使得 optional 成为可能,而无需修改表格布局。

这些表具有以下结构(缩写):

pages:
 * page_id
 * name

page_options:
 * page_option_id
 * name

page_option_values:
 * page_id
 * page_option_id
 * value

我可以从 MySQL 中获取从 pages 中选择所有列的结果吗?并显示 page_options as virtual column 中的名称列值来自 page_option_values

编辑:

我现在有以下查询 - 但现在不知道为什么它不起作用?

SELECT
 n.page_id,
 n.page_name,
 a.column_name,
 v.value as a.column_name
FROM pages n
JOIN page_attribute_value v on v.page_id = n.page_id
JOIN page_attributes a on a.attribute_id = v.attribute_id

最佳答案

为了让您开始,您需要左连接

您将表格设置为 Page_Options 和 page_option_values 这是正确的还是 page_attribute 而不是选项?

Select p.page_Id, p.name, po.page_option_Id, PO.name, POV.value
from pages P
LEFT JOIN page_option_Values POV
 on P.page_ID = POV.Page_Id
LEFT JOIN page_option PO
 on PO.Page_OptioN_ID = POV.Page_Option_ID

关于mysql - 如何使用 JOIN 来做到这一点?或者基因有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24150533/

相关文章:

mysql - 数据库设计-设计M-N关系

mysql - MySQL选择查询使用如果行中有逗号分隔的值

java - 出错后如何执行RollBack?

mysql - 为什么execute-mysql命令无法连接到服务器并运行字符串

php - 用户-项目关系的数据库设计

mysql - mysql中的DC2Type数组数据类型是什么

mysql - 如何在gorm中串连?

mysql - 添加mysql表值

mysql - PHP PDO 异常 : SQLSTATE[HY000] [2019] Can't initialize character set utf8mb4

php - 选中框 : Get all values, 不仅是最后一个(表单、mysql 和 php)