Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [mysql] whereclause

  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [mysql] whereclause

    Scusate, lo so che forse sarà una domanda da newbie ma mi sto un attimo impallando... =_=

    Dunque io, ho una tabella con campo categoria e campo sottocategoria.
    Alcune sottocategorie si chiamano allo stesso modo, ma appartengono a catgorie diverse.

    esempio pratico
    codice:
    +----+-------+-------+
    | id | categ | subca |
    +----+-------+-------+
    | 1  | ciao  | abc   |
    | 2  | ciao  | bcd   |
    | 3  | miao  | abc   |
    | 4  | miao  | xyz   |
    +----+-------+-------+
    Ora,
    se voglio selezionare due sottocategorie con categorie, non conoscendo l'id faccio:

    codice:
    select * tab where
    ( categ = '___' and subca = '___' ) or
    ( categ = '___' and subca = '___' );
    ma se voglio escludere solo quelle due facendo così non funziona:
    codice:
    select * tab where
    ( categ != '___' and subca != '___' ) or
    ( categ != '___' and subca != '___' );
    spero di essermi spiegato...
    attendo consigli
    わさび

  2. #2
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    ho alla fine risolto da me.

    nel caso del !=
    devo specificare tutte le possibilità che sono corrette oltre a dire gli accoppiamenti da escludere

    un po' contorto, ma è così
    わさび

  3. #3
    dovrebbe essere

    select * tab where
    ( categ NOT EQ '___' and subca NOT EQ '___' ) or
    ( categ NOT EQ '___' and subcaNOT EQ '___' );

    il != è solo di PHP, non di SQL

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Io avrei scritto cosi

    codice:
    select * tab where
    NOT ( categ = '___' and subca = '___' ) AND
    NOT ( categ = '___' and subca = '___' );
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da Emulman
    dovrebbe essere

    select * tab where
    ( categ NOT EQ '___' and subca NOT EQ '___' ) or
    ( categ NOT EQ '___' and subcaNOT EQ '___' );

    il != è solo di PHP, non di SQL
    ti ringrazio x la risposta, però != funziona benissimo :master:
    Originariamente inviato da badaze
    Io avrei scritto cosi

    codice:
    select * tab where
    NOT ( categ = '___' and subca = '___' ) AND
    NOT ( categ = '___' and subca = '___' );
    ecco, una sintassi del genere era proprio quello che cercavo...
    grazie 1000 badaze
    わさび

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.