Mi potreste dare mano per una MySQL query :)

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Avatar utente
kikoleppard
membro Senior
membro Senior
Messaggi: 343
Iscritto il: 25/05/2005, 18:12
Località: Plovdiv-Bulgaria
Contatta:

Mi potreste dare mano per una MySQL query :)

Messaggio da kikoleppard »

Di che cosa si tratta?

Mi serve per Attribute Suite

In Admin products_attributes.php(in mio caso option_values.php ma la query e la stessa tranne products_options_values_sort_order) le option values sono ordinati secondo loro ID.
$values = "select pov.products_options_values_id, pov.products_options_values_name, pov2po.products_options_id, pov2po.products_options_values_sort_order from " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov left join " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " pov2po on pov.products_options_values_id = pov2po.products_options_values_id where pov.language_id = '" . (int)$languages_id . "' order by pov.products_options_values_id ";
Il problemma è che voglio ordinarli insieme secondo i loro nomi e sort_order assegnato.

Ho cercato nel manuale di MySQL un caso come questo e naturalmente non ho trovato niente :(
La particolarità secondo me è che si usa LEFT JOIN metodo per le due tabelle. Ho provato e ho notato che solo un criterio potrebbe essere utilizzato per il sort order.

Sono debutante in MySQL e vi chiedo un consiglio.

Il problemma è abbastanza rognoso perche quando le Option Values aumentano diventa un po' di casino.

Se qualcuno mi puo indicare qualche buon sito con i tutorials per MySQL potrei cercare li qualcosa?

E vorrei anche vedere come si usa LEFT JOIN metodo per pui di 2 tabelle.

Vi ringrazio in anticipo.
morez
membro Junior
membro Junior
Messaggi: 13
Iscritto il: 23/08/2005, 12:12

Messaggio da morez »

intendi:
order by pov.products_options_values_name
per il left join
select * from <tabella1> left join <tabella2> on <attributo1> = <attributo2> left join <tabella3> on <attributo1 o attributo2> = <attributo3>
sono stato d'aiuto o non ho capito la domanda?
Avatar utente
kikoleppard
membro Senior
membro Senior
Messaggi: 343
Iscritto il: 25/05/2005, 18:12
Località: Plovdiv-Bulgaria
Contatta:

Messaggio da kikoleppard »

morez
per il left join
select * from <tabella1> left join <tabella2> on <attributo1> = <attributo2> left join <tabella3> on <attributo1 o attributo2> = <attributo3>
Grazie per il suggerimento.
intendi:
order by pov.products_options_values_name
Si esatto ma voglio che i criteri sono due, soltatno che non funziona. Mi sono accorto che prende sempre il primo.

Per esempio io volevo farlo
order by pov.products_options_values_name, pov2po.products_options_values_sort_order
Solo che non funziona -gli ordina soltanto per i loro nomi.

Ciao e grazie
morez
membro Junior
membro Junior
Messaggi: 13
Iscritto il: 23/08/2005, 12:12

Messaggio da morez »

Come l'hai messo giù è giusto .. dovrebbe ordinare secondo il primo criterio e per ogni tupla che trova il cui primo criterio di ricerca è uguale ordina per il secondo ..
Avatar utente
kikoleppard
membro Senior
membro Senior
Messaggi: 343
Iscritto il: 25/05/2005, 18:12
Località: Plovdiv-Bulgaria
Contatta:

Messaggio da kikoleppard »

morez ha scritto:Come l'hai messo giù è giusto .. dovrebbe ordinare secondo il primo criterio e per ogni tupla che trova il cui primo criterio di ricerca è uguale ordina per il secondo ..
Ciao. Ce l'ho fatta gia. Ho agguinto un altro criterio e tabella nella query. Vedi l'ultimo post nel Attribute Suite :)

viewtopic.php?t=3761&highlight=attribute+suite

Se sei un esperto di MySQL potresti vedere un altro topic. A me non mi sembra per niente guisto il syntax della MySQL query e certamente ti chiedo auito :)

viewtopic.php?t=4134&highlight=qyery+reports
Rispondi