我试图从两个不同的表中获取数据,但实际上涉及三个表。
tbl_prosubcategory procategories product
ID Pkey ID Pkey ID (P Key)
Cat_id Fkey from category Categorytype Cat_id (FKey)
subcatname subcat_id(fkey from prosubcategory)
productname
qty
我正在使用以下查询从产品表中选择产品 key 。我只访问了一条记录,但它返回了 5 条重复记录,因为子类别中有 5 条记录针对同一类别。
SELECT c.categoriestype AS categoryname, s.SubCatName AS subcategoryname, p.productname AS productname, p.productprice AS productprice, p.id AS proid, p.productimage AS productimage, p.productthumbnail AS productthumbnail
FROM tbl_ProCategories c, tbl_ProSubCategories s, tbl_products p
WHERE p.subcat_id = s.cat_id
AND p.cat_id = c.id
AND c.id = s.cat_id
LIMIT 0 , 30
最佳答案
一个产品属于 5 个子类别,并且您正在检索 subCateName(彼此不同),因此会发生 5 个结果,我认为从投影中删除 SubCatName 并使用 DISTINCT
可以帮助您。
SELECT DISTINCT
c.categoriestype AS categoryname,
p.productname AS productname, p.productprice AS productprice,
p.id AS proid, p.productimage AS productimage,
p.productthumbnail AS productthumbnail
FROM tbl_ProCategories c, tbl_ProSubCategories s, tbl_products p
WHERE p.subcat_id = s.cat_id
AND p.cat_id = c.id
AND c.id = s.cat_id
LIMIT 0 , 30
关于mysql - 从三个不同的表中获取数据,但它是重复的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20206488/