Query in Query

di il
2 risposte

Query in Query

Salve, 

mi serve un query che elabora il risultato di un altra query in modo che nel campo descriz della tabella articoli siano contenute due parole.

Per far ciò ho predisposto una tabella “parole”, una sorta di dizionario,  dove  sono elencate tutte la parole esistenti in tutti i record e la tabella “PARART” dove sono presenti le connessioni parola>articoli , la query è la seguente:

SELECT * FROM ( ARTICOLI LEFT JOIN PARART ON PARART.ARTICOLO = ARTICOLI.WEB_ID )     LEFT JOIN PAROLE ON PARART.PAROLA = PAROLE.CODICE  

WHERE  PAROLE.PAROLA = 'COLONNINA'   AND EXISTS

(  SELECT * FROM ( ARTICOLI LEFT JOIN PARART ON PARART.ARTICOLO = ARTICOLI.WEB_ID )   LEFT JOIN PAROLE ON PARART.PAROLA = PAROLE.CODICE            WHERE PAROLE.PAROLA = 'BASE'  ) 

mi doveva dare come risultato solo i record che contengono sia COLONNINA che BASE invece mi da i rercord che contengono  COLONNINA come se la seconda query non fosse eseguita. 

la cosa strana è  che  invece la seconda query è  PAROLE.PAROLA = 'BAxxxSE'   volutamente inesistente,  non mi da nessun risultato !

Mi aiutate per cortesia ? 

Grazie 

2 Risposte

  • Re: Query in Query

    15/04/2023 - atsoft ha scritto:


    Per far ciò ho predisposto una tabella “parole”, una sorta di dizionario,  dove  sono elencate tutte la parole esistenti in tutti i record

    mmmhhh…per me c'è qualcosa di “diabolico” in questa pensata. Sei sicuro abbia senso?

    15/04/2023 - atsoft ha scritto:


    la tabella “PARART” dove sono presenti le connessioni parola>articoli

    Questa non l'ho capita. Puoi elencare tutti i campi della tabella PARART? Puoi indicare anche le relazioni tra tutte le tabelle coinvolte?

    15/04/2023 - atsoft ha scritto:


    la cosa strana è  che  invece la seconda query è  PAROLE.PAROLA = 'BAxxxSE'   volutamente inesistente,  non mi da nessun risultato !

    Perchè la stringa “BAxxxSE” non esiste in alcun record, per tanto è ovvio che non restituisca risultati.

    Secondo il regolamento, quando scrivi codici VBA o SQL, abbi cura di selezionare tutta la porzione di testo, poi clicca in alto sul 4° tasto per farlo apparire poi con i tipici caratteri monotype più familiari ai programmatori.

    Hai esposto le query usando SQL. Io (forse solo io) non sono molto pratico. Ti riesce di mostrare le immagini delle relative visualizzazioni struttura? 

  • Re: Query in Query

    Io francamente non ho capito… se hai 2 Criteri, vanno messi in OR, ma se fai una SUB-SELECT sono in AND ovviamente…!

    Quindi:

    SELECT * FROM TuaTabella WHERE PAROLE.PAROLA = 'COLONNINA' OR PAROLE.PAROLA = 'BASE'
Devi accedere o registrarti per scrivere nel forum
2 risposte