Purtroppo no, il problema persiste.
Il conflitto del DISTINCT con l'ORDER BY sta nel fatto che il campo "Ordine" della "tblCatProdArticoli" non è nella raccolta del SELECT.
In effetti se l'articolo con ID = 1 è associato sia alla categoria 2 che alla categoria 3 nella tblCatProdArticoli mi trovo con questi record:
Se faccio questa SELECT:codice:ID IDCatProd IDArticolo Ordine 1 2 1 0 2 3 1 0 ... 3 2 2 1 4 2 3 1 ...
SELECT tblArticoli.ID, tblArticoli.Nome
FROM tblArticoli INNER JOIN tblCatProdArticoli ON tblArticoli.ID = tblCatProdArticoli.IDArticolo
WHERE tblCatProdArticoli.IDCatProd IN (2, 3)
ORDER BY tblCatProdArticoli.Ordine ASC
Mi dà 4 record di risultato per cui due volte l'articolo con ID = 1
Se invece faccio questa SELECT:
SELECT DISTINCT tblArticoli.ID, tblArticoli.Nome
FROM tblArticoli INNER JOIN tblCatProdArticoli ON tblArticoli.ID = tblCatProdArticoli.IDArticolo
WHERE tblCatProdArticoli.IDCatProd IN (2, 3)
ORDER BY tblCatProdArticoli.Ordine ASC
C'è il conflitto e non viene eseguita la query.
Non so se mi sono spiegato...![]()


Rispondi quotando