Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-04-2004, 09:44   #1
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
sql riga valori nulli

Ola a todos,
faccio una select in sql e pare che tutto funziona bene, l'unico problema è che restituisce sempre, in qualsiasi caso una riga con null (anche il campo id) sia che abbia trovato dei record che no, in fondo ci mette sempre sta cazz di riga, cosa può essere?

il fatto è che è in una stored procedure: vi posto il codice:


Codice:
CREATE PROCEDURE SPreportVerbaliDaAs 
(
@P_DT_END		datetime,
@P_DT_START	datetime,
@FA_CODICE 		varchar(4),
@imp_amministratore 	int,
@imp_manutentore 	int
)
 AS


declare @CodiceSql varchar (2000)

set @CodiceSql = 'select a.ver_id, ver_data, ver_scadenza, ver_stato,ver_datasped, ver_protocollo, ver_note 
from commessa d
left join impianto e on d.co_id=e.co_id '

if @imp_amministratore > ''
begin
	set @CodiceSql = @CodiceSql + 'AND E.IMP_AMMINISTRATORE=''' + cast(@imp_amministratore as varchar) + ''' '
end

if @imp_manutentore > ''
begin
	set @CodiceSql = @CodiceSql + 'AND E.IMP_MANUTENTORE=''' + cast(@imp_manutentore as varchar) + ''' '
end




set @CodiceSql = @CodiceSql + 'left join verbale a on a.imp_id=e.imp_id
left join intervento b on a.ver_id=b.ver_id and b.int_dataprev=(select min(int_dataprev) from intervento c where c.ver_id=b.ver_id)
where d.fa_codice=''' + @FA_CODICE + ''' and ag_id is null '

if isdate(@P_DT_END) = 1
	begin
	set @CodiceSql = @CodiceSql +  ' and b.int_dataeffet >= ''' + CAST(@P_DT_END AS VARCHAR) + ''' '
	end

if isdate(@P_DT_START)  = 1
	begin
	set @CodiceSql = @CodiceSql + ' and b.int_dataeffet <= ''' + CAST(@P_DT_START AS VARCHAR) + ''' '
	end

exec (@CodiceSql)
in pratica ho 4 tabelle:
commessa
impianto
verbale
intervento

come avrete notato la select va filtrata...
in commessa il fa_codice
in impianto il manutentore e l'amministratore
in verbale ag_id deve essere nullo
le date vanno verificate su un campo int_dataprev, dala tabella intervento, prendendo però l'intervento più vecchio
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 10:51   #2
mailand
Senior Member
 
L'Avatar di mailand
 
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
fammi capire meglio... nei dati della tabella tu non hai campi blank o null, giusto? la riga di vampi vuoti esce per caso sempre in coda ai dati? che editor usi per fare la query?
perchè se nei dati hai dei blank (degli spazi banalmente) dovresti provare a mettere ove possibile una condizione where trim(nomecampo) is not null, in questo modo selezioni solo i campi valorizzati
inoltre alcuni editor sql visualizzano come ultima riga una riga nulla (cmq dovrebbe portare anche il numero di righe selezionate), oppure in casi di nessuna riga selezionata riportano l'intestazione delle colonne con una riga vuota, ma di solito da qualche parte nella finestra dice qualcosa tipo "no rows returned"...
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons
Un rutto vale più di mille parole.
mailand è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 10:54   #3
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da mailand
fammi capire meglio... nei dati della tabella tu non hai campi blank o null, giusto? la riga di vampi vuoti esce per caso sempre in coda ai dati? che editor usi per fare la query?
perchè se nei dati hai dei blank (degli spazi banalmente) dovresti provare a mettere ove possibile una condizione where trim(nomecampo) is not null, in questo modo selezioni solo i campi valorizzati
inoltre alcuni editor sql visualizzano come ultima riga una riga nulla (cmq dovrebbe portare anche il numero di righe selezionate), oppure in casi di nessuna riga selezionata riportano l'intestazione delle colonne con una riga vuota, ma di solito da qualche parte nella finestra dice qualcosa tipo "no rows returned"...
uso query analyzer e eterprise manager di microsoft sql server
la riga di nulli me la restituisce in 2 query (su 5 che devo fare) non ho campi blank, ma il fatto è che mi da una riga di null con l'id null... comunque la mete sempre in coda, penso che il problema sia solo nella select...
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:01   #4
mailand
Senior Member
 
L'Avatar di mailand
 
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
se l'id dovesse sempre essere valorizzato, prova a fare il trucco dell'esclusione con la trim sul campo id...
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons
Un rutto vale più di mille parole.
mailand è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:07   #5
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da mailand
se l'id dovesse sempre essere valorizzato, prova a fare il trucco dell'esclusione con la trim sul campo id...
trim non esiste nel mio db, posso mettere una condizione da levare le righe null, però volevo risolvere il problema alla radice, sono convinto che c'è qualcosa che non va nella select...
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:12   #6
mailand
Senior Member
 
L'Avatar di mailand
 
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
ad occhio non mi sembra, però tutto può essere...
semmai prova a mettere una chiave primaria sulle tabelle per le righe duplicate, e a mettere not null alcuni campi, se non ti accetta le abilitazioni il problema potrebbero essere alcuni dati incoerenti...
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons
Un rutto vale più di mille parole.
mailand è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:14   #7
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da mailand
ad occhio non mi sembra, però tutto può essere...
semmai prova a mettere una chiave primaria sulle tabelle per le righe duplicate, e a mettere not null alcuni campi, se non ti accetta le abilitazioni il problema potrebbero essere alcuni dati incoerenti...
no no non centra niente quello, le select che ho fatto sono tutte sulle stesse tabelle, con condizioni diverse... e pare che ho trovato il problema....

ma per spiegarmi il perchè ci vuole un esperto di sql...


ad un certo punto c'è una condizione: ag_id is null
se invece di is ci metto = mi trova meno valori ma non mi restituisce la riga nulla..... perchè?????? devo ancora verificare cosa fa di preciso... corro!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:28   #8
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
ho trovato la soluzione!



quasi mi vergogno a scriverla...
era una banalità....


facevo la join con la tabella verbale (che era quella che dovevo visualizzare) con una left..... bisognava usare right altrimenti prendeva anche gli impianti senza verbali..... e quindi metteva dei verbali con campi nulli... anche se funziona ancora adesso devo spiegarmi la differenza tra is e =....
mah!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:43   #9
mailand
Senior Member
 
L'Avatar di mailand
 
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
ti ho risposto nell'altro post!
purtroppo non sempre riesco a focalizzare il problema sulle join non conoscendo esattamente le tabelle...
chettedevodì, sarò un po' niubbo...
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons
Un rutto vale più di mille parole.
mailand è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2004, 11:48   #10
The March
Senior Member
 
L'Avatar di The March
 
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
Quote:
Originariamente inviato da mailand
ti ho risposto nell'altro post!
purtroppo non sempre riesco a focalizzare il problema sulle join non conoscendo esattamente le tabelle...
chettedevodì, sarò un po' niubbo...
figurati, non avendo davanti lo schema delle tabelle è normale non capire le join...
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/
The March è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Amazon, ecco i super sconti del weekend:...
Scovare un bug di sicurezza sui disposit...
Offerta Amazon su NordVPN: proteggi 10 d...
ECOVACS DEEBOT X8 PRO OMNI in offerta su...
Scope elettriche Tineco in offerta su Am...
Offerta Amazon sui robot EUREKA J15 Ultr...
Chrome disattiverà automaticament...
Tornano tutti e 4 i colori disponibili p...
Super sconto su iPhone 16: Amazon abbass...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:17.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v