0
我有以下SQL-选择(SQLite的/ MySQL的):减少内部连接
SELECT products.* FROM products
INNER JOIN specifications AS spec1 ON specifications.product_id = product.id
INNER JOIN specifications AS spec2 ON specifications.product_id = product.id
WHERE products.language = "de"
AND products.category = "ABC"
AND (spec1.name = 'Innenabmessungen' AND spec1.value = '182x53')
AND (spec2.name = 'Farbe' AND spec2.value = 'schwarz')
有只使用一个INNER JOIN
的解决方案?问题是我想用两个以上的spec-filter来制作SELECT
。这可能吗?
只要你有合适的索引,连接并没有那么糟! – 2011-05-26 09:10:17
恭喜您重新发现[EAV](http://en.wikipedia.org/wiki/Entity-attribute-value_model)带来的痛苦,当您实际需要查询属性时。 – 2011-05-26 09:30:37