我有一个两列MySQL表,表示具有三种不同选项(大小,颜色等)的产品变体。
##############################
# VariationID # OptionID #
##############################
# 1 # 10 #
# 1 # 20 #
# 1 # 30 #
# 2 # 11 #
# 2 # 20 #
# 2 # 30 #
# 3 # 10 #
# 3 # 22 #
# 3 # 30 #
# 4 # 10 #
# 4 # 20 #
# 4 # 33 #
##############################
该表是由我正在使用的PHP框架(Silverstripe)生成的,因此我无法轻易修改它。
如何识别哪个 VariationID 与特定选项匹配?
我可以运行MySQL查询,返回变量的VariationID和OptionIDs 10,20,30吗?
如果在原始MySQL中不可能,那么PHP中最好的方法是什么?
答案 0 :(得分:3)
你可以直接使用SQL,但它有点乱:
SELECT
A.VariationID AS VariationID
FROM
tablename AS A
INNER JOIN tablename AS B ON A.VariationID=B.VariationID
INNER JOIN tablename AS C ON A.VariationID=C.VariationID
WHERE
A.OptionID=10
AND B.OptionID=20
AND C.OptionID=30
这会找到VariationID
行,OptionID
值为10,20和30