我已经尝试了多种方法来摆脱查询结果中的所有重复项,但没有一项能够正常工作。我尝试了DISTINCT
和GROUP BY
。
DISTINCT
根本不会做任何事情,GROUP BY
我一直都会遇到错误。
我的查询:
SELECT
categorie.categorie_id AS categorie,
categorie.categorie_nummer,
categorie.naam,
product.product_id, product.product_naam,
foto.foto_id, foto.foto1,
item.prijs, item.item_id
FROM
((((((categorie
INNER JOIN
behoort_tot ON categorie.categorie_id = behoort_tot.categorie_id)
INNER JOIN
product ON behoort_tot.product_id = product.product_id)
INNER JOIN
heeft ON product.product_id = heeft.product_id)
INNER JOIN
foto ON heeft.foto_id = foto.foto_id)
INNER JOIN
is_een_1 ON product.product_id = is_een_1.product_id)
INNER JOIN
item ON is_een_1.item_id = item.item_id)
WHERE
(categorie.categorie_id = ?)
提前致谢
答案 0 :(得分:0)
WITH TEMP AS
(
SELECT categorie.categorie_id AS categorie, categorie.categorie_nummer, categorie.naam,
product.product_id, product.product_naam, foto.foto_id, foto.foto1, item.prijs, item.item_id,
ROW_NUMBER()
OVER (PARTITION BY categorie.categorie_id ORDER BY categorie.categorie_id) As ROW_NO
FROM ((((((categorie INNER JOIN
behoort_tot ON categorie.categorie_id = behoort_tot.categorie_id)
INNER JOIN
product ON behoort_tot.product_id = product.product_id) INNER JOIN
heeft ON product.product_id = heeft.product_id) INNER JOIN
foto ON heeft.foto_id = foto.foto_id) INNER JOIN
is_een_1 ON product.product_id = is_een_1.product_id) INNER JOIN
item ON is_een_1.item_id = item.item_id)
)
SELECT * FROM TEMP WHERE ROW_NO = 1;
我确实看到你正在尝试使用类别进行整理。试试这个。我用row_number函数对它进行排序,并假设你使用的是sql server