Visualizzazione dei risultati da 1 a 8 su 8

Discussione: difficolta con select

  1. #1
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    difficolta con select

    ciao a tutti!
    ho questa select che mi serve per estrarre le email da un db access:

    "SELECT email.email FROM EMAIL Where email <> 'Not disclosed' AND Email not Like '%piazzaerbestore%' AND email NOT LIKE '%/%' AND email NOT LIKE 'www.%' AND Email Like '%@%' GROUP BY email;"

    ...adesso ho messo un altro campo nel db chiamato "rifiutate" dove vanno inserite le email che non devono essere spedite... io avevo messo :

    "SELECT email,rifiutate.email FROM EMAIL Where email <> 'Not disclosed' AND Email not Like '%piazzaerbestore%' AND email NOT LIKE '%/%' AND email NOT LIKE 'www.%' AND Email Like '%@%'and email <> rifiutate GROUP BY email;"

    ma non funziona! mi da sto errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.


    potese suggerirmi come fare?

    grazie!!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  2. #2
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    SELECT email.email, rifiutate.email FROM EMAIL Where email <> 'Not disclosed' AND Email not Like '%piazzaerbestore%' AND email NOT LIKE '%/%' AND email NOT LIKE 'www.%' AND Email Like '%@%'and email <> rifiutate GROUP BY email;


    oppure

    SELECT email, rifiutate FROM EMAIL Where email <> 'Not disclosed' AND Email not Like '%piazzaerbestore%' AND email NOT LIKE '%/%' AND email NOT LIKE 'www.%' AND Email Like '%@%'and email <> rifiutate GROUP BY email;



    Prova così ma non assicuro niente.
    www.beppegrillo.it
    Il blog di Beppe!!

  3. #3
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    con la prima l'errore è sempre quello

    con la seconda mi da questo:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][Driver ODBC Microsoft Access] Impossibile eseguire una query che non include l'espressione "rifiutate" specificata come parte di una funzione di aggregazione.
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  4. #4
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Usa la prima query e fai una stampa della stringa senza farla eseguire e vedi cosa ti scrive.

    Altra cosa, non capisco se rifiutate sia il nome del campo della tabella oppure se è il valore che prende la tabella.

    Nella tua query dici che il campo email deve essere diverso da "rifiutate" quindi credo sia il valore di quel campo email non il nome. Spiegati meglio plz.
    www.beppegrillo.it
    Il blog di Beppe!!

  5. #5
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    Originariamente inviato da colde
    Usa la prima query e fai una stampa della stringa senza farla eseguire e vedi cosa ti scrive.

    Altra cosa, non capisco se rifiutate sia il nome del campo della tabella oppure se è il valore che prende la tabella.

    Nella tua query dici che il campo email deve essere diverso da "rifiutate" quindi credo sia il valore di quel campo email non il nome. Spiegati meglio plz.

    rifiutate è il nome della colonna, li vanno inseriti gli indirizzi che non devono partire!

    se stampo la stringa mi viene: SELECT email.email, rifiutate.email FROM EMAIL Where email <> 'Not disclosed' AND Email not Like '%piazzaerbestore%' AND email NOT LIKE '%/%' AND email NOT LIKE 'www.%' AND Email Like '%@%'and email <> rifiutate GROUP BY email;

    ma a cosa serve? :master:
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  6. #6
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Allora se non ho capito frasche per fresche:

    In pratica se devi fare la select escludendo gli indirizzi rifiutati, devi dirgli all'SQL che il campo rifiutate deve essere vuoto o cmq non deve contenere indirizzi mail.

    Se il campo rifiutate non contiene l'indirizzo, cosa ci metti? Lo lasci vuoto? Inserisci "-"?

    Come hai scirtto tu, invece controlla il campo email e fa la select dove non è inserito "rifiutate"

    Dovrebbe essere una cosa del genere

    ...AND rifiutate LIKE '' Order ecc.
    www.beppegrillo.it
    Il blog di Beppe!!

  7. #7
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    provo a rispiegarmi:

    il mio db ha 2 colonne: email e rifiutate. in email ci sono tutti gli indirizzi ai quali deve pervenire la mail, mentre in rifiutate ci sono gli indirizzi ai quali non vanno spedite le mail!

    io dovrei dirgli anche che agli indirizzi presenti in entrambe le colonne non venga spedita la mail!

    sara chiaro? :master:
    sperem!!

    grazie per l'aiuto!!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  8. #8
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Non fai prima a mettere un enum con "y" o "n" nella colonna rifiutate? Dove compare "y" non invii la mail.

    Cmq, tornando alla tua struttura, nella tabella hai una serie di campi tra cui email e rifiutate, giusto?
    nel primo record c'è il campo email che contiene l'indirizzo a cui inviare la mail e il campo rifiutate è vuoto (???? o ci inserisci qualcos'altro?);
    nel secondo record invece il campo rifiutate contiene l'indirizzo mail perchè non devi inviargli la mail.


    Cmq la tua descrizione non è molto comprensibile perchè ometti dati importanti sulla struttura della tabella. Se non fai capire come è strutturata e cosa deve contenere è un po dura. Di possibilità ce ne sono una marea e una è quella che ti ho scritto qui sopra ma non sapendo esattamente come hai strutturato la tabella...
    In quella tabella hai solo quei due campi e basta? :master:
    In ogni caso secondo me è fuorviante inserire l'indirizzo mail anche nel campo rifiutate, è meglio inserire un enum e fai il controllo su quello. Fai la select di tutti i record where rifiutate LIKE 'n'. Il principio rimane sempre questo in ogni caso.
    Sarò tordo io.
    www.beppegrillo.it
    Il blog di Beppe!!

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.