SELECT attribute_value.value
FROM attribute_value
INNER JOIN attributes ON attributes.id=attribute_value.attribute_id
WHERE attributes.attribute IN (colour, size);
我没有这样做,但我得到的错误是#1054 - 'where子句'中的未知列'颜色'
我正在尝试获取与之关联的属性的值。现在,属性在“IN”子句中列出,但我想知道如何使用这样的关联数组:
Array([attributes] => Array ( [0] => Colour [1] => Size )
表attribute_value
______________________________
| attribute_id | value |
------------------------------
| 1 | Red |
| 1 | Blue |
| 2 | Large |
表格属性
____________________
| id | attribute |
--------------------
| 1 | Colour |
| 2 | Size |
为了澄清,将发布多个属性并仅使用这些属性,从attribute_value获取值,其中属性中的属性id等于attribute_value中的attribute_id
答案 0 :(得分:7)
你有IN的问题。您应该在单引号之间使用字符串。
SELECT attribute_value.value
FROM attribute_value
INNER JOIN attributes ON attributes.id=attribute_value.attribute_id
WHERE attributes.attribute IN ('Colour', 'Size');
答案 1 :(得分:2)
在WHERE attributes.attribute IN ('colour', 'size')
中尝试此操作。