50 messaggi dal 14 luglio 2007
Ahhhh adesso ho capito
No in realtà è davvero del tutto indifferente...
Mi basterebbe avere una query con i nomi dei prodotti diversi.
Se ho 5 oggetti dello stesso nome, me ne basta stampare uno qualsiasi.
Grazie
1.976 messaggi dal 27 luglio 2005
Contributi
MaRsHaL wrote:
Ahhhh adesso ho capito
No in realtà è davvero del tutto indifferente...
Mi basterebbe avere una query con i nomi dei prodotti diversi. Se ho 5 oggetti dello stesso nome, me ne basta stampare uno qualsiasi. Grazie

e che senso avrebbe "stampare uno qualsiasi" ?
un criterio ci deve essere, altrimenti tutte le righe "duplicate" non avrebbero senso di esistere
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
50 messaggi dal 14 luglio 2007
Praticamente devo stampare a video la lista dei prodotti disponibili, devo stamparla però in un ecommerce che quindi necessita di tutte le informazioni delle colonne, per linkare il prodotto alla pag dei dettagli.
Se il cliente acquista il prodotto (che può essere presente in più categorie) non gli interessa la categoria in cui si trova, quindi un prodotto vale l'altro.
Ovviamente se un prodotto è presente in 50 categorie, se il cliente cerca il nome del prodotto, non possono uscire 50 prodotti uguali.
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
MaRsHaL ha scritto:
Praticamente devo stampare a video la lista dei prodotti disponibili


Fin qui ci sarà una tabella contenente i prodotti (priva di duplicati)

devo stamparla però in un ecommerce


Che cosa cambierebbe "dove la stampi"?!?

che quindi necessita di tutte le informazioni delle colonne, per linkare il prodotto alla pag dei dettagli.


Gli attributi di un prodotto (ovvero i suoi dettagli) sono sempre gli stessi a prescindere se questo può far parte di più categorie... Se un tavolo è presente nella categoria "arredi per il soggiorno" e nella categoria "arredi per l'ufficio" gli attributi del tavolo non possono essere diversi nei 2 casi... altrimenti sarebbero 2 prodotti differenti, ad esempio "tavolo da casa" (con i suoi attributi) e "tavolo da ufficio" (altri attributi che possono coincidere al 99% ma non al 100% con quelli del tavolo da casa).
Altro esempio... un palmare puoi metterlo nella categoria telefonia e in quella dei computer portatili. Gli attributi del palmare sono sempre quelli (e non potrebbe essere diversamente) sia quando lo vedi tra i telefoni che quando lo vedi tra i computer. Mi rifiuto di pensare che da una parte lo mostri come "UMTS, HSDPA, 500 numeri in rubrica" e dall'altra come "128MB RAM, slot microSD, WiFi". Se è così ci sarebbe un problema di fondo perchè anche in questo caso sarebbero 2 prodotti differenti...

Se il cliente acquista il prodotto (che può essere presente in più categorie) non gli interessa la categoria in cui si trova, quindi un prodotto vale l'altro.


Sbagliato! Dire che "un prodotto vale l'altro" significa dire che "(fra 2 o più prodotti) uno vale l'altro" mentre come concorderai il prodotto è sempre lo stesso

Ovviamente se un prodotto è presente in 50 categorie, se il cliente cerca il nome del prodotto, non possono uscire 50 prodotti uguali.


Ho la netta sensazione (che è praticamente una certezza) che la base dati sia disegnata più che male. Se questi sono i presupposti non esiste T-SQL che tenga... la logica è minata nelle sue basi imprescindibili...
50 messaggi dal 14 luglio 2007
Allora da dove inziare..
Il gestore del ecommerce (non io) per inserire lo stesso prodotto in una categoria diversa, reinserisce il prodotto come un nuovo prodotto.
Nel db quindi c'è un prodotto nuovo, nella categoria diversa dal precedente, e con un diverso ID. L'unica cosa che accomuna il prodotto vecchio a quello nuovo, è il nome del prodotto.
Adesso il gestore vorrebbe, visto che il prodotto "fisico" è sempre lo stesso, che l'utente nella sua ricerca visualizzi solo una volta il prodotto, che virtualmente sono daccordissimo con te sono due prodotti diversi, ma fisicamente ne è uno solo.
Quindi l'utente non ha bisogno di scegliere quale dei due oggetti acquistare, perchè in realtà l'oggetto fisico è lo stesso.

é sorto anche a me il dubbio che se un oggetto è adatto ad una categoria, perchè inserirlo anche in un altra??

Comunque il problema è questo, esistono più oggetti virtuali, riconducibili ad uno stesso oggetto fisico, quindi si dovrebbe stamparne uno solo visto che fisicamente è sempre lo stesso oggetto.
Si può fare una cosa del genere??
Cmq grazie davvero per la disponibilità eh
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
MaRsHaL ha scritto:
Il gestore del ecommerce (non io) per inserire lo stesso prodotto in una categoria diversa, reinserisce il prodotto come un nuovo prodotto.


MALE...

Adesso il gestore vorrebbe, visto che il prodotto "fisico" è sempre lo stesso, che l'utente nella sua ricerca visualizzi solo una volta il prodotto, che virtualmente sono daccordissimo con te sono due prodotti diversi, ma fisicamente ne è uno solo.


La query ce l'hai... e l'abbiamo scritta in questo thread parecchie volte

SELECT DISTINCT nomeprodotto FROM dbo.Tabella

é sorto anche a me il dubbio che se un oggetto è adatto ad una categoria, perchè inserirlo anche in un altra??


E' l'esatto opposto di quello che ti ho detto. Ci sono molte ragioni valide per le quali un prodotto possa stare in diverse categorie (vedi gli esempi che ti ho fatto ma anche tantissimi altri del tutto legittimi). Quello che fa acqua è il fatto di duplicare il prodotto

Comunque il problema è questo, esistono più oggetti virtuali, riconducibili ad uno stesso oggetto fisico, quindi si dovrebbe stamparne uno solo visto che fisicamente è sempre lo stesso oggetto.


Vedi la query di cui sopra. Se come stai ripetendo dall'inizio vuoi visualizzare anche altri attributi del prodotto e che sono diversi per ciascun duplicato oltre all'errore (grosso) concettuale di duplicare il prodotto c'è quello aggiuntivo di duplicarlo anche male (con diversi attributi in funzione della categoria). Utilizza a questo punto la query che ho scritto in uno dei precedenti post (quella che utilizza la GROUP BY) e prendi il MIN, il MAX, o quello che vuoi degli attributi privi di senso (perchè non può essere diversamente)

Bye
17 messaggi dal 04 ottobre 2007
ciao,
concordo pienamente con l.bianchi, visto che l'errore è concettuale. E' corretto il ragionamento che un prodotto può appartenere a più categorie, così come dice la frase (la traduciamo in struttura del Database), ogni prodotto ha bisogno di un dettaglio dove vengono indicate le sue categorie. Secondo me, quindi, bisogna aggiungere una tabella di dettaglio dei prodotti dove il cliente può inserire le diverse categorie del prodotto senza duplicare il prodotto. Questa soluzione ti slega da SQL "impossibili" con risultati poco soddisfacenti e maggior logica del DB e pulizia dei dati. Ovviamente per realizzare la lista dei prodotti, basta fare una select dritta sulla tabella prodotti.

Spero che questa soluzione non causa troppe modifiche al tuo lavoro, ma è una soluzione al tuo problema.

Ciao
50 messaggi dal 14 luglio 2007
simonexxx ha scritto:
ciao,
concordo pienamente con l.bianchi, visto che l'errore è concettuale. E' corretto il ragionamento che un prodotto può appartenere a più categorie, così come dice la frase (la traduciamo in struttura del Database), ogni prodotto ha bisogno di un dettaglio dove vengono indicate le sue categorie. Secondo me, quindi, bisogna aggiungere una tabella di dettaglio dei prodotti dove il cliente può inserire le diverse categorie del prodotto senza duplicare il prodotto. Questa soluzione ti slega da SQL "impossibili" con risultati poco soddisfacenti e maggior logica del DB e pulizia dei dati. Ovviamente per realizzare la lista dei prodotti, basta fare una select dritta sulla tabella prodotti.

Spero che questa soluzione non causa troppe modifiche al tuo lavoro, ma è una soluzione al tuo problema.

Ciao


Bhe capisco ed hai completamente ragione. Anche a me è sembrato strano questo procedimento ma per ovviare a tutto ciò si dovrebbe modificare grandissima parte dell'ecommerce, cosa che almeno a me, nn conviene assolutamente fare.

Quindi è praticamente impossibile fare la query che interessava a me, basandomi sulle info che possiedo attualmente?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.