Spiegazione Query postato il 08/08/2010 23:28:13 nel forum programmazione, gdrcd, open source, hosting
Allora,vi elenco due query differenti che mi stanno dando tortura di morte (il problema l'ho risolto,xò mi credete ke NON ho capito come ho fatto?...xk non riesco a capire la differenza tra le due query..)
Questo è il codice errato:
Pagine → 1 2
09/08/2010 00:30:06
Gli operatori logici, come quelli matematici, sono modificati dalle parentesi nell'ordine di esecuzione.
5 + (2 * 3)
è diverso
da
(5 + 2) * 3
quindi a seconda di come annidi OR e AND cambia il risultato (true o false) di ogni singola espressione e quindi può cambiare anche quello dell'espressione finale.
09/08/2010 10:30:42
Oltretutto i controlli su IDRazza e IDClasse <> 0 sono assolutamente inutili; un'altra cosa: per effettuare controlli su un range di valori utilizza between, è più leggibile. Comunque, buttando un'occhiata veloce, credo che il problema stia nell'or fra IDRazza e quell'altra brutta parentesi; avresti dovuto usare delle parentesi per incapsulare quell'espressione.
09/08/2010 11:27:11
il codice va bene ... ecco quello corretto
09/08/2010 11:37:27
09/08/2010 11:46:10 e modificato da nodd il 09/08/2010 12:05:56
Nn hai capito xD
Io la differenza la so..ma in QUEL caso,con QUELLE condizione..
SIA se metto OR,SIA se metto AND mi ridà lo stesso risultato Oo'..cpt qual'è il mio piccio?
09/08/2010 12:06:17 e modificato da la kaiah il 09/08/2010 12:09:17
evita di scrivere sproloqui, che non sono giustificati se non riusciamo a comprendere la tua domanda.
le differenze di applicazione degli operatori logici sono fortemente collegate all'uso delle parentesi.
and e or non hanno la stessa priorità, significa che se non metti delle parentesi per modificare la sequenza di esecuzione degli operatori and e or, saranno risolti sequenzialmente come li hai scritti
scrivere a and b or c
è diverso che scrivere a and ( b or c)
perchè nel'esecuzione della prima è come se ci fossero le parentesi sul primo operatore (a and b) or c
le query che hai scritto sono differenti ed è differente anche il loro significato logico dalla spiegazione che hai dato di quello che avrebbero dovuto fare. almeno della prima che ho letto.
edit: edito per lasciarti un altro link, spero più vicino a ciò che ti interessa.
http://www.mysqlitalia.it/recipes/112-gli-operatori-logici
09/08/2010 12:18:49 e modificato da vino_veritas il 09/08/2010 12:20:23
Guarda che semplicemente con quella condizione i risultati delle query sono diversi: nel caso dell'and ti restituisce solo i valori compresi fra 1 e 11, nel caso dell'or ti restituisce tutti i valori. Oltretutto, ti ripeto: scrivere "idrazza = 0 OR idrazza <> 0" non ha alcun senso. Significa dire "Se l'id è diverso da zero o è uguale a zero"; è ovvio che è un risultato sempre vero.
09/08/2010 12:29:07
si scusa..l'abitudine fa brutti skerzi,cmq corretto ^^..
Cmq vino ti pongo una domanda...
Se io scrivo
IDRazza = 0 OR (IDRazza <> 0 AND IDRazza >= 1 AND IDRazza < 11)
In questo caso,il <> non dovrebbe essere "eliminato" dal fatto che IDRazza dovrà per FORZA contenere un risultato pari a IDRazza >= 1 e IDRazza < 11 Oo?[ invece no,xk mi preleva tutti i risultati
e
IDRazza = 0 OR (IDRazza <> 0 OR IDRazza >= 1 AND IDRazza < 11)
in questo caso invece,mi preleva TUTTI i risultati che assume IDRazza e stiamo pace..
Capito qual'è la mia domanda??
Mi skuso ancora x prima,è stato involontario,pardon^^
09/08/2010 13:01:46
Perchè non provi le 2 query con solo quelle condizioni nel where? Scoprirai che in effetti restituiscono due resultset diversi, esattamente come ti aspetti :-)
09/08/2010 13:02:18
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Midian Realms: Inizio fase di test
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Il gestore di Il Grande Blu ha risposto alla recensione di spike92
Felix Felicis GdR - Harry Potter GdR: La Resistenza?
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
Pandora Upside Down High School → La prima scuola per sovrannaturali al mondo vi attende! Scoprite il vostro cammino Ancestrale relazionandovi con i compagni e le attività dei club
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
Inquisizione - Intervista alla gestione di Inquisizione London Chronicles il play by chat ambientato in un oscura Londra
Recensione Dreamalot - Recensione del gdr fantasy Dreamalot fatta dal sito Disabili Abili
Streghe e Medioevo - La nascita delle streghe nel medioevo: dalla superstizione all'inquisizione..
Giochi di Zombie - Immergiti in mondi devastati da orde di zombie e fai di tutto per sopravvivere!
Gaming Disorder - Gaming Disorder: L'organizzazione mondiale della sanità riconosce la dipendenza da videogiochi
Star Wars Forum - Intervista al gestore di Star Wars Forum GDR.. che la forza sia con voi!