我想在 mysql 数据库中填充一个表。首先,我想撤回所有可能性,并删除不需要的可能性(比手动添加它们更容易)。
决赛 table 是:
组合
combID
productID
type
content
exclude
extrafield2
extrafield6
数据来自
extrafields_values
exvalueID
productID
extrafieldID
content
对于每个产品,我需要为 extra_field_values(extrafieldID = 2 和 extrafieldID = 6)中的每个组合返回一行
例如:
- 产品编号 = 700
- extrafield2 = E, D, F
- extrafield6 = 34,35,36,37
为每个组合返回 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
最佳答案
我相信您只需要将您的 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
关于mysql - 在 mysql 的主查询中使用子查询返回 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768784/