Escludere dati da una query

Max61

Utente Attivo
2 Mar 2014
740
4
18
Salve, da giorni mi sto arrovellando per escludere alcuni record da una query, ho provato in diversi modi, con <> oppure NOT REGEXP oppure != ma nessuno funziona.
Le tipologie di dati da escludere sono queste: "Sclass." oppure "Seg.con" oppure "Seg.con.pol".
La query è una SELECT.

Vi chiedo un aiuto

Grazie
Max61
 

otto9due

Utente Attivo
22 Feb 2014
591
25
28
Ma hai messo qualcosa tipo :

PHP:
 $sql = "SELECT campo, campo2, campo3 FROM tabella WHERE campo != 'Sclass.' AND  campo != 'Seg.con' AND campo != 'Seg.con.pol'";

Prova così e fammi sapere..
 
Ultima modifica:

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ma hai messo qualcosa tipo :

PHP:
 $sql = "SELECT campo, campo2, campo3 FROM tabella WHERE campo != 'Sclass.' AND  campo != 'Seg.con' AND campo != 'Seg.con.pol'";

Prova così e fammi sapere..


Si ho fatto sia così che con tutti gli altri operatori (<> ECC.)
Ma non funziona...anzi per la precisione l'unico che mi toglie è Gen.ST e non capisco perchè solo questo!

Grazie ancora
Max61
 

otto9due

Utente Attivo
22 Feb 2014
591
25
28
Giusto.. non ci avevo pensato.. Ansichè AND dobbiamo, in questo caso, usare OR..
Anche se ce n'è solo uno a te serve che non lo selezioni giusto..
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
si è giusto, voglio escluderli, ma avevo anche provato con or, ma niente, addirittura con or mi riesume anche il record contenente
Gen.ST che con and mi sparisce.

Ti posto parte della query
PHP:
WHERE posizione != 'Sclas.' and posizione != 'Gen.ST' and ...
così mi esclude Gen.ST

PHP:
WHERE posizione != 'Sclas.' or posizione != 'Gen.ST' or...
così me lo ripropone...

non so dove sbattere la testa!!!

Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, puoi provare con NOT IN
Codice:
WHERE posizione NOT IN ('Sclas.','Gen.ST')
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
si è giusto, voglio escluderli, ma avevo anche provato con or, ma niente, addirittura con or mi riesume anche il record contenente
Gen.ST che con and mi sparisce.

Ti posto parte della query
PHP:
WHERE posizione != 'Sclas.' and posizione != 'Gen.ST' and ...
così mi esclude Gen.ST

PHP:
WHERE posizione != 'Sclas.' or posizione != 'Gen.ST' or...
così me lo ripropone...

non so dove sbattere la testa!!!

Max61



Ciao e grazie per l'interessamento, ma NOT IN ('Sclas.','Gen.ST'), lo avevo già provato anche se non lo avevo menzionato ma l'unico record che mi toglie è sempre e solo quello contenente Gen.ST.

Veramente non capisco...sono tutte stringhe!!!

Grazie
Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
quindi Sclass. è una parte della stringa ?
devi usare NOT LIKE = "%'Sclas.%"
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
scusa ho scritto una cavolata, la sintassi corretta è
Codice:
NOT LIKE "%Sclas.%"
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Provato, ma anche così esclude sempre e solo Gen.ST!!!

Ho fatto una prova, ho sostituto la parola Sclas. con Gen.ST (l'unica stringa che toglie) me le doveva escludere tutte, invece niente.
Infatti i record che prima avevano la stringa Sclas. e adesso cambiati con Gen.ST ci sono tutti!!!

Quindi deduco che il problema sta da un altra parte...non nelle stringhe!!!

Se hai qualche idea in merito...

Max61
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Forse sbaglio nell'impostare la query, spiego meglio cosa voglio fare:
voglio visualizzare solo i record che hanno queste caratteristiche:
campo posizione = 'Gen.', 'Div.' e Clas.
campo calcolato peso_X_congiunturale >= 4000 e <= -4000
voglio escludere tutti gli altri record anche se hanno i valori compresi tra >= 4000 e <= -4000 (sono quelli Sclas. ecc.).
Posto la query che ho fatto:
PHP:
$query = "SELECT id, prodotto, posizione, peso, congiunturale, tendenziale,  round(peso_X_congiunturale, 0) as peso_X_congiunturale FROM comunicato_stampa 
		  WHERE posizione NOT LIKE '%Sclas.%' and posizione NOT LIKE '%Gen.ST%' and peso_X_congiunturale >= 4000 or peso_X_congiunturale <= -4000 or posizione='Gen.' or posizione='Div.'";

Spero di essermi spiegato
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
campo posizione = 'Gen.', 'Div.' e Clas.
non specifichi bene, quindi due possibilità,

PHP:
where ( posizione like "Gen.%" OR posizione like "Div.%" OR posizione like "Clas.%" ) AND .....

oppure 

devi lavorare con le stringhe esatte se vuoi rispettare anche la lunghezza della parola da cercare

anche nel secondo caso non è chiaro, da come hai scritto sembra che tu voglia estrarre quelli che stanno fuori
campo calcolato peso_X_congiunturale >= 4000 e <= -4000

quindi

PHP:
..... AND ( peso_X_congiunturale  >= 4000 OR peso_X_congiunturale <= -4000 )

altrimenti

..... AND  ( peso_X_congiunturale  >= -4000 AND peso_X_congiunturale <= 4000 )

poi ... pensa positivo ... chi vuoi includere (è più facile)

ciao
Marino
 
Ultima modifica:

Max61

Utente Attivo
2 Mar 2014
740
4
18
Escludere dati da query

non specifichi bene, quindi due possibilità,

PHP:
where ( posizione like "Gen.%" OR posizione like "Div.%" OR posizione like "Clas.%" ) AND .....

oppure 

devi lavorare con le stringhe esatte se vuoi rispettare anche la lunghezza della parola da cercare

anche nel secondo caso non è chiaro, da come hai scritto sembra che tu voglia estrarre quelli che stanno fuori


quindi

PHP:
..... AND ( peso_X_congiunturale  >= 4000 OR peso_X_congiunturale <= -4000 )

altrimenti

..... AND  ( peso_X_congiunturale  >= -4000 AND peso_X_congiunturale <= 4000 )

poi ... pensa positivo ... chi vuoi includere (è più facile)

ciao
Marino






Riprovo a spiegarmi:
voglio visualizzare solo i record che hanno queste caratteristiche:
il campo posizione deve essere solo: 'Gen.', 'Div.' e Clas.
campo calcolato: dove il valore del campo peso_X_congiunturale sta tra -4000 e 4000.
Voglio escludere tutti gli altri record anche se hanno i valori compresi tra -4000 e 4000.

Con la speranza di essermi spiegato...
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
mi sembra di aver postato indicazioni sufficienti per la query,
lavoro con MS Sql, non con mySql, potrebbero esserci differenze nella gestione delle stringhe,
questa è la ragione per cui non ho scritto il comando ma il suggerimento
oppure
devi lavorare con le stringhe esatte se vuoi rispettare anche la lunghezza della parola da cercare
penso che tu possa leggere il manuale mySql e scrivere quella parte
ciao
Marino
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
mi sembra di aver postato indicazioni sufficienti per la query,
lavoro con MS Sql, non con mySql, potrebbero esserci differenze nella gestione delle stringhe,
questa è la ragione per cui non ho scritto il comando ma il suggerimento

penso che tu possa leggere il manuale mySql e scrivere quella parte
ciao
Marino



Grazie per l'aiuto...hai ragione a pensare positivo a volte conviene...

Max61
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Escludere campi non valorizzati PHP 22
danjde [MySQL] Escludere specifico valore dalla query select MySQL 3
D Come posso escludere una pagina dalle regole di htaccess? Web Server 0
S [PHP] Selezionare ultimo campo ed escludere doppioni PHP 16
M [PHP] Escludere i record con pratica conclusa PHP 26
M Datetimepicker - escludere orari + step di 30 minuti jQuery 0
T Funzione per redirect versione mobile: escludere i tablet Javascript 1
novello88 escludere un post dal flusso RSS WordPress 0
P Escludere stringhe contenute nei record da una select MySQL 3
Shyson Escludere un css codice dalla home PHP 17
M Escludere 2 select da una select MySQL 9
M Escludere dei parametri da una SELECT MySQL 7
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 15
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1

Discussioni simili