Autore Topic: [risolto] query per campi vuoti  (Letto 1122 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[risolto] query per campi vuoti
« il: 20 Aprile 2010, 23:28:24 »
ciao raga
devo trovare dei record che sono diversi da SI oppure vuoti, ho provato con questa query ma non funziona, dove sbaglio?
Codice: [Seleziona]
sqls = "select * from contratti WHERE trasferito <> '" & "SI" & "'" & " AND trasferito = '" & NULL & "'"
« Ultima modifica: 21 Aprile 2010, 23:36:07 da dex »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: query per campi vuoti
« Risposta #1 il: 20 Aprile 2010, 23:34:53 »
prova cosi':
Codice: [Seleziona]
SELECT * FROM contratti WHERE trasferito IN ('SI','');

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: query per campi vuoti
« Risposta #2 il: 20 Aprile 2010, 23:35:27 »
prova in questo modo

Codice: [Seleziona]
sqls = "SELECT * FROM contratti WHERE trasferito <> 'SI' OR trasferito = NULL;"

per non funziona cosa intendi?

ti da errore o ti ritorna dati non corretti?


Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: query per campi vuoti
« Risposta #3 il: 20 Aprile 2010, 23:37:36 »
ops... avevo visto male :)

giusto come a detto fsurfing

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: query per campi vuoti
« Risposta #4 il: 21 Aprile 2010, 20:32:12 »
prova in questo modo

Codice: [Seleziona]
sqls = "SELECT * FROM contratti WHERE trasferito <> 'SI' OR trasferito = NULL;"

per non funziona cosa intendi?

ti da errore o ti ritorna dati non corretti?


ciao
ora provo il codice.
per errore intendo che non trova nessun record.

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: query per campi vuoti
« Risposta #5 il: 21 Aprile 2010, 20:43:06 »
nulla da fare. record trovati 0

vi spiego meglio la mia situazione (questo accade quando pretendono modifiche su modifiche)

avevo creato questa tabella per registrare i contratti, installata su più pc e avevano cominciato ad inserire dati, un bel giorno mi chiamano e pretendono una modifica.
devo aggiungere un campo testo dove inserire da codice SI / NO se quel contratto è stato trasferito alla sede centrale.

aggiungo il campo e il codice all'interno del programma, il programma sui nuovi contratti inseriti in quel campo inserisce NO, e mi trovo in questa situazione:
tutti i vecchi record hanno il campo vuoto
tutti i nuovi record hanno il campo con NO
tutti i nuovi record che sono stati trasferiti hanno il campo con SI

ora il problema è quando faccio le query di ricerca, se imposto una query per sapere quanti contratti sono stati trasferiti trova tutti i record SI, se invece voglio sapere quelli che non sono stati trasferiti mi trova solo i record con NO, invece in quelli che non sono stati trasferiti dovrebbe trovare sia i NO che i precedenti vuoti.

 

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: query per campi vuoti
« Risposta #6 il: 21 Aprile 2010, 20:52:18 »
immagino tu abbia provato con
Codice: [Seleziona]
sqls = "SELECT * FROM contratti WHERE trasferito <> 'SI'

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: query per campi vuoti
« Risposta #7 il: 21 Aprile 2010, 20:54:28 »
ormai e tardi ma io solitamente quando devo aggiungere un campo a una tabella la imposto con valore di default diverso da NULL così semplifichi le ricerche visto che query con NULL come ricerca di solito mi danno problemi

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: query per campi vuoti
« Risposta #8 il: 21 Aprile 2010, 21:06:21 »
immagino tu abbia provato con
Codice: [Seleziona]
sqls = "SELECT * FROM contratti WHERE trasferito <> 'SI'

si ho gia provato, l'unico è inserire NO in tutti i campi vuoti, il problema è che se volessi farlo da codice come costruisco la query che analizza i campi uno ad uno e mi inserisce No in quelli vuoti?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: query per campi vuoti
« Risposta #9 il: 21 Aprile 2010, 21:22:39 »
hai provato anche:

Codice: [Seleziona]
SELECT * FROM contratti WHERE trasferito IN ('NO','');

?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: query per campi vuoti
« Risposta #10 il: 21 Aprile 2010, 21:36:34 »
Citazione
si ho gia provato, l'unico è inserire NO in tutti i campi vuoti, il problema è che se volessi farlo da codice come costruisco la query che analizza i campi uno ad uno e mi inserisce No in quelli vuoti?
secondo me ti conviene farlo fare a gambas

fai una query che trova tutti i record

poi li analizzi uno ad uno e quelli da modificare li modifichi


Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: query per campi vuoti
« Risposta #11 il: 21 Aprile 2010, 21:56:09 »
hai provato anche:

Codice: [Seleziona]
SELECT * FROM contratti WHERE trasferito IN ('NO','');

?
niente non li trova

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: query per campi vuoti
« Risposta #12 il: 21 Aprile 2010, 21:58:26 »
avresti mica la possibilità di passarmi il db? e' un sqlite giusto?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: query per campi vuoti
« Risposta #13 il: 21 Aprile 2010, 23:27:17 »
forse ho trovato:

SELECT * FROM contratti WHERE trasferito = 'NO' or trasferito IS NULL

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: query per campi vuoti
« Risposta #14 il: 21 Aprile 2010, 23:35:34 »
milio sei un genio

grazie