我希望在mysql数据库中填充一个表。首先,我想撤回所有可能性,然后修剪掉不需要的东西(比手工添加它们更容易)。
决赛桌是:
combID
productID
type
content
exclude
extrafield2
extrafield6
数据来自
exvalueID
productID
extrafieldID
content
对于每个产品,我需要在extra_field_values(extrafieldID = 2和extrafieldID = 6)中为每个组合返回一行
例如:
为每个组合
返回exvalueID到extrafields2和6到目前为止,我已经尝试过:
SELECT EV.productID, extraFieldID, content AS extrafield6,
(SELECT content AS extrafield2
FROM wjf_extrafields_values AS EV2
INNER JOIN wjf_products AS P2
WHERE extraFieldID = 6) AS extrafield2
FROM wjf_extrafields_values AS EV
INNER JOIN wjf_products AS P ON P.productID = EV.productID
WHERE extrafieldID = 6
答案 0 :(得分:1)
我认为您只需要将wjf_products
表格与extrafield_values
表格相关联,如下所示。
select p.productID, ev1.content as extrafield2, ev2.content as extrafield6
from wjf_products p inner join extrafields_values ev1 on p.productID = ev1.productID
inner join extrafields_values ev2 on p.productID = ev2.productID
where ev1.extraFieldID = 2
and ev2.extraFieldID = 6
答案 1 :(得分:0)
为什么不创建和使用两个视图而不是查询。
View1 =组合
View2 = View1的子集
使用View2
插入数据