Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Filtri Multipli

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28

    Filtri Multipli

    Salve ragazzi stavo facendo uno script per filtrare una colonna di una tabella eccolo:

    codice:
    SELECT CODICE
    FROM contactPr_magazzino
    INNER JOIN contactPr_contatti ON contactPr_magazzino.CHILOHA = contactPr_contatti.ID
    AND marchio LIKE '%lero%'
    AND codice LIKE '%ERm%'
    WHERE LOWER( collezione ) LIKE '%maga%'
    OR LOWER( marchio ) LIKE '%maga%'
    OR LOWER( codice ) LIKE '%maga%'
    ORDER BY contactPr_magazzino.ID
    LIMIT 0 , 100
    Il codice funziona è tutto ok , però non è errato? non dovrebbe essere cosi?

    codice:
    SELECT CODICE
    FROM contactPr_magazzino
    INNER JOIN contactPr_contatti ON contactPr_magazzino.CHILOHA = contactPr_contatti.ID
    WHERE LOWER( collezione ) LIKE '%maga%'
    OR LOWER( marchio ) LIKE '%maga%'
    OR LOWER( codice ) LIKE '%maga%'
    AND marchio LIKE '%lero%'
    AND codice LIKE '%ERm%'
    ORDER BY contactPr_magazzino.ID
    LIMIT 0 , 100

    se metto i 2 AND dopo or non funziona non capisco il perchè , and non dovrebbe andare dopo lo where?

  2. #2
    "non funziona" cosa vuol dire?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28
    Scusami , intendo la prima mi restituisce la tabella filtrata in modo corretto , mentre la seconda mi restituisce la tabella ma come se gli "and" non ci fossero e filtra solo "where" e "or"

  4. #4
    questo perché hai

    ...
    OR LOWER( marchio ) LIKE '%maga%'
    ...
    AND marchio LIKE '%lero%'
    ...

    fatto così prenderà sia %maga% (perché c'è OR) che %lero% (obbligatorio per via dell'AND, ma l'OR di %maga% di fatto annulla l'obbligatorietà)

    struttura meglio la tua query, fa' attenzione a AND e OR


  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28
    ah menomale ho capito grazie mille, funziona perfettamente!

  6. #6
    ----------------------------------------------------
    nello spirito del forum, spiega come hai fatto (postando la soluzione), così aiuterai qualche altro forumista che dovesse avere lo stesso problema.
    ------------------------------------------------------------------------
    (e lasciami un "mi piace", grazie )

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28
    codice:
    SELECT NOME, contactPr_contatti.COGNOME
    FROM contactPr_magazzino
    INNER JOIN contactPr_contatti ON contactPr_magazzino.CHILOHA = contactPr_contatti.ID
    WHERE LOWER( collezione ) LIKE '%maga%'
    OR LOWER( taglia ) LIKE '%maga%'
    OR LOWER( quantita ) LIKE '%maga%'
    OR LOWER( nome ) LIKE '%maga%'
    OR LOWER( cognome ) LIKE '%maga%'
    AND marchio LIKE '%lero%'
    AND codice LIKE '%ER%'
    ORDER BY contactPr_magazzino.ID
    LIMIT 0 , 100
    ho fatto in modo che la classe che mi costruiva la query , non andava a cercare marchio e codice tra gli "or"

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