PDA

View Full Version : [Access 97] Piccolo aiuto


Braschio
15-01-2010, 20:52
Non so se è il forum giusto comunque mi trovo a dover usare questo programma per analizzare un DB e le mie conoscenze sulle query sono mediocri e sopratutto piene di ragnatele.:cry:

Sto facendo delle query per selezionare da un elenco dei valori andando per lettere alfabetiche tuttavia in questo caso voglio tutti quelli che iniziano per "e" ma che non siano tipo "eeg" e "epg"...ho provato un sacco di combinazioni ma non funziona


SELECT ANAGRAFICA.MPDSC, INT_RICAMBI.ID_ART, INT_TESTA.ID_INT
FROM INT_TESTA INNER JOIN (ANAGRAFICA INNER JOIN INT_RICAMBI ON ANAGRAFICA.ID_ART = INT_RICAMBI.ID_ART) ON INT_TESTA.ID_INT = INT_RICAMBI.ID_INT
WHERE INT_RICAMBI.ID_ART LIKE 'E*' <------questa va ma mi prende tutti..
AND WHERE INT_RICAMBI.ID_ART NOT LIKE 'EET*' <-- questo non va..
ORDER BY INT_RICAMBI.ID_ART;


ho provato a usare != , <> ... dove sbaglio?

Grazie per l'attenzione

zuper
15-01-2010, 22:22
hai provato senza il secondo where?

SELECT ANAGRAFICA.MPDSC, INT_RICAMBI.ID_ART, INT_TESTA.ID_INT
FROM INT_TESTA INNER JOIN (ANAGRAFICA INNER JOIN INT_RICAMBI ON ANAGRAFICA.ID_ART = INT_RICAMBI.ID_ART) ON INT_TESTA.ID_INT = INT_RICAMBI.ID_INT
WHERE INT_RICAMBI.ID_ART LIKE 'E*' <------questa va ma mi prende tutti..
AND INT_RICAMBI.ID_ART NOT LIKE 'EET*' <-- questo non va..
ORDER BY INT_RICAMBI.ID_ART;

Sciakallo
16-01-2010, 02:23
infatti il secondo WHERE non c'entra na cippa.
NOT LIKE prende tutte le tuple tranne quelle che non rispettano quella condizione.
<> restituisce tutte quelle diverse da "EET*" (incluso l'asterisco)
NOT LIKE restituisce tutte quelle che non iniziano con EET

Ciao

Braschio
16-01-2010, 10:14
quindi devo usare il <> visto che è una condizione che esclude alcuni membri della selezione fatta già col LIKE?
Mi pareva di aver già provato senza il secondo where comunque oggi provo; intanto grazie!

zuper
16-01-2010, 10:27
quindi devo usare il <> visto che è una condizione che esclude alcuni membri della selezione fatta già col LIKE?
Mi pareva di aver già provato senza il secondo where comunque oggi provo; intanto grazie!

teoricamente andrebbe bene...
ma tu gli hai già detto cosa vuoi tirare fuori...quelli che cominciano con E e devi solo escludere quelli che cominciano con eet...per cui il not like va benissimo.