domanda alla quale non ho trovato risposta:
Buona giornata!
se in una ricerca su un campo di un db voglio passare anche il criterio "is null" come devo fare? (tenendo presente che vuoto oppure uno spazio bianco sono due cose diverse)
es: ho un campo ruolo che può essere vario
id nome ruolo
1 giovanni attaccante
2 pietro difensore
3 luca portiere
4 sergio ' '
5 dario is null
6 roberto centrocampista
La variabile è quindi impostata: "where ruolo = :Ruolo "
ma non riesco a passare is null.... e quindi trovare dario!!!
povero dario!!
grazie a tutti!
passaggio parametro a una query se "is null"
passaggio parametro a una query se "is null"
libreoffice 4.2 sia su win che su ubuntu
Re: passaggio parametro a una query se "is null"
Ciao, prova questa query:
Codice: Seleziona tutto
SELECT "id", "nome", "ruolo" FROM "Table1" WHERE "ruolo" = :Ruolo OR "ruolo" IS NULL
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: passaggio parametro a una query se "is null"
Si, così funziona ma siccome mi complico la vita vorrei poter passare 2 parametri ad esempio
se io avessi dei giocatori che hanno avuti più ruoli ad esempio (2 tabelle collegate uno a molti)
e io volessi trovare chi nella cariera ha svolto il ruolo di portiere e di centrocampista dovrei poter passare "AND" e non più "OR"
a quel punto ruolo = :Ruolo AND ruolo IS NULL non andrebbe più bene.
io dovrei fare ruolo = :Ruolo AND ruolo = :Ruolo2 (e qui dovrei riuscire a passare la seconda variabile) ma se io provo a mettere IS NULL me lo vede come testo...
e non trova i campi vuoti mentre se passo: ' ' (2 apici) trova i campi in cui il valore è stato cancellato.
se io avessi dei giocatori che hanno avuti più ruoli ad esempio (2 tabelle collegate uno a molti)
e io volessi trovare chi nella cariera ha svolto il ruolo di portiere e di centrocampista dovrei poter passare "AND" e non più "OR"
a quel punto ruolo = :Ruolo AND ruolo IS NULL non andrebbe più bene.
io dovrei fare ruolo = :Ruolo AND ruolo = :Ruolo2 (e qui dovrei riuscire a passare la seconda variabile) ma se io provo a mettere IS NULL me lo vede come testo...
e non trova i campi vuoti mentre se passo: ' ' (2 apici) trova i campi in cui il valore è stato cancellato.
libreoffice 4.2 sia su win che su ubuntu
Re: passaggio parametro a una query se "is null"
Beh, non complicarla a tutti , comincia ad allegare un tuo db.dino ha scritto:… ma siccome mi complico la vita ...
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: passaggio parametro a una query se "is null"
qualche giorno di ritardo per allegare il db...
ho buttato giù una cosa simile visto che l'originale è in Mysql... spero non sia più complicato ancora (in mysql infatti "is null" è diverso da "cancellato v. allegato)
ho buttato giù una cosa simile visto che l'originale è in Mysql... spero non sia più complicato ancora (in mysql infatti "is null" è diverso da "cancellato v. allegato)
- Allegati
-
- questo è l'esempio della differenza in mysql tra campi null e cancellati
- isNull.PNG (2.28 KiB) Visto 2486 volte
-
- giocatori.odb
- questo è il file del db
- (5.46 KiB) Scaricato 116 volte
libreoffice 4.2 sia su win che su ubuntu
Re: passaggio parametro a una query se "is null"
Con AND mi pare che non funzioni nemmeno se digiti i nomi al completo.dino ha scritto:e io volessi trovare chi nella cariera ha svolto il ruolo di portiere e di centrocampista dovrei poter passare "AND" e non più "OR"
Funziona se aggiungi un campo "ruolo2".
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org