Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30

    [sql] Select Multiplo che non va...

    Salve.
    Per un programma che sto revisionando (e che tra l'altro devo consegnare domani T_T) devo selezionare dalla tabella sconti tutte le occorrenze in cui l'id del prodotto corrisponda a un prodotto che abbia come id della marca un numero passato da me. Ecco come ho tentato:
    codice:
    SELECT sconti.id FROM sconti, prodotti WHERE prodotti.id=sconti.prodotto AND prodotti.marca=4
    Mi riesce praticamente impossibile capire perchè non funziona! Qualcuno può darmi una mano?
    Grazie

  2. #2
    prova a fare una query con la sola equi-join e vedi i risultati ottenuti.... cioe' se esiste nelle accoppiate delle due tabelle unite per gli id un valore 4 nella colonna prodotti.marca

    codice:
    SELECT sconti.id 
    FROM sconti, prodotti 
    WHERE prodotti.id = sconti.prodotto
    order by prodotti.marca
    Assicurati che i record corrispondano, poi aggiungerai la restrizione successivamente. Meglio se pero' dici anche in cosa consiste il problema.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30
    In sconti sono archiviate tutte le varie 'proposte' di sconto, mentre in prodotti, appunto, ci sono i vari prodotti da scontare, eventualmente.
    Quello che a me serve è poter svolgere una visualizzazione per marca (del prodotto)...
    Solo che, mentre i record da mostrare sarebbero in realtà due (diciamo...) me ne vengono mostrati un numero nettamente superiore! E ovviamente non riesco a capire perchè XD

    P.s.: Con il codice postato da te funziona

  4. #4
    prova ad usare LEFT JOIN

    codice:
    select *
    from prodotti
    left join sconti ON prodotti.id = sconti.prodotto
    where prodotti.marca = 4

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30
    Grazie mille... ieri ho buttato giù qualcosa tanto per completare (ossia ho selezionato prima i valori e poi ho fatto una query partendo da lì T_T)... oggi ho provato con la seconda soluzione proposta da te e funziona bene... Almeno ho imparato qualcosa di nuovo! Grazie ancora

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.