Visualizzazione dei risultati da 1 a 7 su 7

Discussione: aiuto su query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    aiuto su query

    Salve, non riesco ad ottenere la query giusta con join.
    In sostanza ho due tabelle:

    Prodotti
    Nome - Codice_Prodotto - Altro

    Immagini
    Url_Foto - Codice_Prodotto - Altro

    Vorrei ottenere tutti i Nome Prodotto con l'url della foto, sia che ce l'abbiano che non...

    Ho fatto:

    SELECT Prodotti.Nome, Prodotti.Codice_Prodotto, Prodotti.Altro, Immagini.Url_foto, Immagini.Codice_prodotto, Immagini_Altro from Prodotti natural join Immagini where Prodotti.Altro LIKE 'Immagini.Altro' and where Prodotti.Codice_Prodotto = Immagini.Codice_Prodotto.

    Ovviamente non va...

  2. #2
    usa LEFT JOIN, se manca la foto la tabella immagini rendera' NULL per quel record.
    codice:
    SELECT *
    FROM prodotti as p
    LEFT JOIN immagini as i ON i.codice_prodotto = p.codice_prodotto

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    Ciao ma...

    Ciao grazie, ma...in realtà vorrei che non eliminasse il record del prodotto se la foto realtiva non c'è nella tabella immagini. Metterei la foto "non disponibile". Quindi, il mio problema è che la tabella prodotti ha 100 record, mentre quella immagini solo 70. non mi vorrei perdere i 30 prodotti anche se non hanno immagini...
    Grazie.

  4. #4

    Re: Ciao ma...

    Originariamente inviato da gio-mx
    Ciao grazie, ma...in realtà vorrei che non eliminasse il record del prodotto se la foto realtiva non c'è nella tabella immagini. Metterei la foto "non disponibile". Quindi, il mio problema è che la tabella prodotti ha 100 record, mentre quella immagini solo 70. non mi vorrei perdere i 30 prodotti anche se non hanno immagini...
    Grazie.
    Ma hai provato?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    si...

    Ciao, si scusami, ora mi funziona selezionando anche i record che non hanno corrispondenze con le immagini. L'unica cosa, essendo oltre 30000 records, ci mette un casino di tempo.
    Tu che dici: forse è meglio che a priori faccio l'update di tutto il db prodotti con le rispettive foto su un campo apposito (ma ci sta una decina minuti comunque) la notte del tipo, oppure lascio le query così (sempre che non si possano ottimizzare meglio?

  6. #6
    ho capito niente. Bisognerebbe sapere cosa devi fare e a quanto corrisponde il valore "casino di tempo".

    Si presume che non stamperai tutti i 30.000 articoli tutte le volte.

    Puoi usare la condizione where per limitare la ricerca. O forse il database non e' ben ottimizzato? Chi lo sa?

    Per dire qualcosa di coerente su una struttura di un db bisogna conoscere molto di piu' di quanto detto sinora.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da piero.mac
    Per dire qualcosa di coerente su una struttura di un db bisogna conoscere molto di piu' di quanto detto sinora.

    Vero, ma sicuramente mettere un indice per codice_prodotto sulle due tabelle aiuterebbe molto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.