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

    Query complessa [asp+mySQL]

    Salve a tutti,

    dovrei filtrare dei risultati con una query.
    Ecco cosa dovrebbe fare:
    Selezionare dalla tabella utenti tutti i record dove ci siano contemporaneamente:
    il campo mail_offerte=1 (quindi è iscritto alla newsletter)
    almeno uno dei tre campi profilo (profilo1, profilo2, profilo3) = alla variabile categoria (che già ho)
    almeno uno dei tre campi sede (sede1, sede2, sede3) = alla variabile provincia (che già ho) oppure uno dei tre campi sede = tutte .

    Esempio: L'azienda Marcom offre un posto di lavoro come Contabile nella sede di Perugia
    Lo scopo è quello di inviare una email a tutti gli utenti iscritti alla newsletter che abbiano scelto almeno un profilo (dei 3 a disposizione) uguale a 'Contabile' e contemporaneamente abbiano scelto una sede (delle 3 a disposizione) uguale a ' Perugia' oppure che abbiano indicato come sede 'tutte'.

    Io ho messo su questa query ma non mi convince molto...

    codice:
    sql="select * from utenti Where mail_offerte=1 and profilo1='"&categoria&"'  or profilo2='"&categoria&"'  or profilo3='"&categoria&"' and sede1='"&provincia&"' or sede2='"&provincia&"' or sede3='"&provincia&"' or sede1='tutte' or sede2='tutte' or sede3='tutte'"
    Vi sembra corretta, qualcuno saprebbe riscriverla "a modo" ?
    Grazie tante.

  2. #2
    stai solo attento alle precedenze AND / OR : nel tuo caso gli OR vanno tra parentesi, così

    MAIL AND (profili in OR) AND (sedi in OR)

  3. #3
    Perfetto, bastava mettere gli operatori nel modo giusto.
    Grazie

  4. #4

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.