PHP sql多属性
下面的查询显示了我的产品PHP sql多属性,php,mysql,Php,Mysql,下面的查询显示了我的产品 SELECT DISTINCT productsmap.id, attributes_product.waarde, attributes_product.att_id, productsmap.name, productsmap.category AS categoryId, brand.naam AS brand, productsmap.sku, categorie.name AS category, productsmap.price, productsm
SELECT DISTINCT productsmap.id, attributes_product.waarde,
attributes_product.att_id, productsmap.name, productsmap.category
AS categoryId, brand.naam AS brand, productsmap.sku, categorie.name AS
category, productsmap.price, productsmap.shops
FROM productsmap
INNER JOIN categorie ON productsmap.category = categorie.id
INNER JOIN brand ON productsmap.brand = brand.id
INNER JOIN attributes_product ON productsmap.id = attributes_product.pmapid
WHERE productsmap.category
IN ( 2, 3, 4, 5, 6, 7, 8 )
AND productsmap.shops >0
AND (
productsmap.price >= 3.94
AND productsmap.price <= 204.99
)
AND productsmap.online =1
LIMIT 0 , 30
多次使用相同的id和名称,但att_id和waarde不同。但我需要添加到我的查询中(attributes_product.att_id=1和waarde=109)和(attributes_product.att_id=2和waarde=2013)
但这是不可能的,因为这是不同的结果。我如何解决这个问题?或者我可以搜索什么来解决这个问题
It attributes.product是att_id和waarde我不确定您所说的“但这是不可能的,因为这是不同的结果”。您能澄清一下您的问题吗?在我看来,第一行和第二行是相同的结果,但waarde和att_id是不同的。我还需要搜索那个。你说的“也搜索”是什么意思?你的意思是把它添加到WHERE子句中吗?如果是这种情况,只需添加它,如
和waarde=109
。如果你展示一个你想要得到的结果的样本,这可能会有所帮助。是的,我理解,我做到了,但我需要109和2013。因此,将和waarde放入(1092013)
。
(id) (waarde) (att_id) (name) (categoryId) (brand) (sku)
2 109 1 Name 4 Merk 70000
2 2013 2 Name etc etc etc
2 123 3 Name etc etc etc
3 103 1 Name2 etc etc
3 2012 2 Name2
3 123 3 Name2
4 110 1 3name
4 2013 2 3name
4 102 3 3name