Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554

    [Mysql] forse serve subquery

    Ciao,
    cosciente che con sql ho ancora parecchia strada da fare , vi espongo il mio problema

    ho 2 tabelle

    tabella prodotto

    id
    regione
    provincia
    comune
    quartiere
    qta

    tabella prodotto_richiesto

    id
    regione
    provincia
    comune
    quartiere
    elevata
    media
    scarsa

    le 2 tabelle sono in join tra di loro su regione, provincia, comune.
    il campo prodotto.qta può assumere i seguenti valori elevata, media, scarsa che non a caso nella tabella prodotto_richiesto sono 3 colonne che possono avere come valore 0 o 1.

    Praticamente quando poplo la tabella prodotto_richiesto posso indicare che mi vanno bene tutte le combinazioni dei tre valori elevata, media e scarsa. Quando invece popolo la tabella del prodotto che "offro" indico in che quantità è disponibile: o elevata o media o scarsa.

    Vorrei scrivere una parte di query che mi soddisfi la condizione:
    se nella tabella prodotto la colonna qta è 'media' e nella tabella prodotto_richiesto la colonna media è = 1 restituisco il record.
    Vivrò una vita intera e fortunatamente morirò una volta sola

  2. #2
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Aggiungo un esempio

    ELEVATA|MEDIA|SCARSA|QTA
    ---------------------------------
    1 |1 |1 |ELEVATA
    ----------------------------------
    0 |0 |1 |ELEVATA
    ----------------------------------
    0 |1 |1 |MEDIA

    tenendo conto di quanto detto prima, mi servirebbe una condizione/porzione di query che restituisca la prima riga e la terza.
    Vivrò una vita intera e fortunatamente morirò una volta sola

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: [Mysql] forse serve subquery

    Originariamente inviato da pyotrex
    ho 2 tabelle
    E perché non una sola?

  4. #4
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    La tabella prodotto è una offerta, la tabella richiesa è una richiesta prodotto. Le tabelle sono semplificate, la natura del progetto non mi permette di farne una sola.
    Vivrò una vita intera e fortunatamente morirò una volta sola

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Va be'
    Non hai detto che dati vuoi in output, comunque sarà una cosa del genere


    SELECT ... (quello che ti pare).... from prodotto p, prodotto_richiesto r
    where
    -- (condizioni di join)
    p.regione = r.regione and
    p.provincia = r.provincia and
    p.comune = r.comune
    -- (fine condizione di join, ma mi sembra un po' strano che siano solo queste)
    and (
    (p.qta = 'elevata' and r.elevata = 1) or
    (p.qta = 'media' and r.media= 1) or
    (p.qta = 'scarsa' and r.scarsa= 1)
    )

  6. #6
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Prima di tutto grazie.
    Se i valori di qta invece di essere 3 fossero 20 a tuo avviso ci sono approcci diversi?
    Vivrò una vita intera e fortunatamente morirò una volta sola

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Potresti usare, nella tabella prodotto_richiesto, un campo di tipo set invece di uno per ogni valore; questo ti semplificherebbe di molto la query di estrazione, ma ti complicherebbe alquanto l'introduzione dei valori

  8. #8
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Allora preferisco lasciare le cose come stanno.
    Grazie
    Vivrò una vita intera e fortunatamente morirò una volta sola

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.