Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
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


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Steelseries Arctis Nova Elite: le prime ...
30 anni di PlayStation da indossare: arr...
Amazon lancia gli Echo più potent...
Amazon rinnova la gamma Fire TV: ecco le...
Ring lancia le sue prime videocamere con...
Blink amplia la gamma di videocamere di ...
Jaguar Land Rover riprende (gradualmente...
HONOR inaugura il primo ALPHA Flagship S...
Yamaha: ecco il brevetto del 'finto moto...
'Console obsoleta e utenti ingannati': u...
Stop al ransomware su Google Drive, graz...
L'IA è la nuova interfaccia utent...
Battlefield 6: confermata la dimensione ...
Windows 11 porta il Wi-Fi 7 alle aziende...
Logitech MX Master 4 subito disponibile ...
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: 21:03.


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