Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MySQL] Select con condizione

    Salve mi chiedevo se fosse possibile fare una select con una condizione di contrtollo tipo IF.
    Supponendo che si hanno due tabelle con campi uguali ma che non hanno necessariamente gli stessi dati all'interno, io devo fare fare una query nella quale se la primary key cercata sta nella prima tabella, seleziona la riga da quella tabella, altrimenti controlla se c'è la stessa key nella seconda tabella ed estrae la riga da li.
    Se qualcuno sa come fare e può dirmelo gliene sarei grato
    Why so serious?????

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Fammi capire. E' possibile che lo stesso identificativo sia presente in entrambe le tabelle oppure no?

  3. #3

  4. #4

    Re: [MySQL] Select con condizione

    Originariamente inviato da TheMay88
    Salve mi chiedevo se fosse possibile fare una select con una condizione di contrtollo tipo IF.
    Supponendo che si hanno due tabelle con campi uguali ma che non hanno necessariamente gli stessi dati all'interno, io devo fare fare una query nella quale se la primary key cercata sta nella prima tabella, seleziona la riga da quella tabella, altrimenti controlla se c'è la stessa key nella seconda tabella ed estrae la riga da li.
    Se qualcuno sa come fare e può dirmelo gliene sarei grato
    ragionando su cosa hai scritto sembrerebbe che hai un po di dati da una parte e un po' dall'altra e non solo, hai pure un mixer tra gli id. Rimarrebbe da capire se in entrambe le tabelle ci possa essere lo stesso id.

    Anyway prova con una union:

    codice:
    select *
    from tab1
    where id = '$id'
    UNION
    select *
    from tab2
    where id = '$id';
    se i dati per caso ci fossero in entrambe le tabelle ti verrebbe resa una sola tupla. Con UNION record uguali si sovrascrivono tra loro.

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

  5. #5

    Re: Re: [MySQL] Select con condizione

    Originariamente inviato da piero.mac
    ragionando su cosa hai scritto sembrerebbe che hai un po di dati da una parte e un po' dall'altra e non solo, hai pure un mixer tra gli id. Rimarrebbe da capire se in entrambe le tabelle ci possa essere lo stesso id.

    Anyway prova con una union:

    codice:
    select *
    from tab1
    where id = '$id'
    UNION
    select *
    from tab2
    where id = '$id';
    se i dati per caso ci fossero in entrambe le tabelle ti verrebbe resa una sola tupla. Con UNION record uguali si sovrascrivono tra loro.
    Adesso ti faccio un esempio concreto supponiamo di avere una tabella "auto costruite" ed una tabella "auto vendute" e supponiamo che che l'id della prima tabella sia uguale ad un campo della seconda tabella (visto che per auto vedute l'id sarebbe dato dalla targa). Quindi, io devo fare un controllo su "auto vendute", se su auto vendute non ci sono auto con quell'id controllo su auto costruite.... la soluzione che mi hai scritto cambia????
    Why so serious?????

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 © 2026 vBulletin Solutions, Inc. All rights reserved.