我有一张 table pages
另外两个名为 page_options
和page_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/