我有一个表pages
和另外两个名为page_options
和page_option_values
的表,可以在不修改表格布局的情况下使可选选项成为可能。
表格具有以下结构(shortend):
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
答案 0 :(得分:0)
为了让你开始,你需要左连接
您将表格排列为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