Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    Query MySQL : operatore IN

    Ciao

    ho una query che legge gli articoli da una tabella MySQL e poi li mostra a video. La cosa strana è che la query funziona solo quando ci sono almeno 2 articoli, in caso contrario non mostra nulla. Sto impazzendo a capire il perché. Confrontando la query che viene generata quando c'è un solo articolo con quella che viene generata in presenza di più articoli noto la seguente differenza

    Query con 2 articoli

    select np.products_id, np.products_name, np.products_image, np.products_model, (np.products_price * 1.20) AS tax_price, np.products_notes from newsletters_products np, products_description pd where pd.language_id = '4' and newsletters_id = '32' and pd.products_id = np.products_id and np.products_id in(92,964) ORDER BY products_id

    Query con 1 articolo

    select np.products_id, np.products_name, np.products_image, np.products_model, (np.products_price * 1.20) AS tax_price, np.products_notes from newsletters_products np, products_description pd where pd.language_id = '4' and newsletters_id = '32' and pd.products_id = np.products_id and np.products_id in(92) ORDER BY products_id


    In pratica l'operatore IN ha un solo valore. E' possibile che questo operatore faccia piantare la query? Ripeto, con la 1 query vedo 2 articoli con la seconda 0. Nonostante gli articoli esistano. Ho fatto stampare il numero di articoli che legge quando mando in esecuzione le query. Nel priom caso mi dice "2 articoli" mentre nel secondo "0 articoli" !! non capisco proprio
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    potrebbe essere diversa la storia.

    se provi con

    and np.products_id in(964)

    invece che con:

    and np.products_id in(92)

    quanti record ricevi?

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

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Scusa se ti rispondo solo ora.
    Se faccio come dici tu ho 2 articoli. Cosi ne vedo sempre 2. Come mai ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    Originariamente inviato da ivy_76
    Scusa se ti rispondo solo ora.
    Se faccio come dici tu ho 2 articoli. Cosi ne vedo sempre 2. Come mai ?
    perche' qualcosa non quaglia nel where. Ma cosa, senza conoscere i dati presenti e' un po' difficile da indovinare.

    Prova ad eliminare TUTTE le condizioni del where lasciando solo quella con IN(). Parti da li e vedi quanti record ricevi. Poi aggiungi man mano le varie condizioni in AND e individua quando e perche' nasce il tuo problema.

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

  5. #5
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Lo so che è un casino capire i problemi senza avere tutte le info del caso. Il progetto che sto sviluppando riguarda osCommerce.
    Sto modificando il codice sorgente originale in funzione di alcune modifiche che mi sono state chieste. Nella fattispecie devo modificare le newsletter. Il problema da me riscontrato è, appunto, che quando la newsletter non mostra nulla quando è presente un unico prodotto mentre funziona correttamente negli altri casi.
    La cosa è parecchio strana, perché il progetto osCommerce è in funzione da molto tempo e mi sembra strano che tale problema sia capitato solo a me.
    Ho cercato info sui siti ufficiali ma sono quasi deserti !!
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

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.