Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-02-2007, 10:38   #1
Alan J
Member
 
L'Avatar di Alan J
 
Iscritto dal: Jul 2004
Città: Prov. Savona
Messaggi: 166
[PostgreSQL] aiuto per query

ciao a tutti, ho una tabella tab di righe fatte così:

ord(int) | item(string) | data(date)

dove ord è Primary Key ed è progressivo per riga; i campi (a parte ovviente ord) possono essere vuoti.
A me seve una query che mi dia le riga tra 2 date, e ho fatto:

SELECT * FROM tab WHERE data BETWEEN 'data1' AND 'data2'

che però nn mi restituisce le righe dove il campo data è vuoto!

Si può ovviare?

grazie!!
__________________
Abit NF-M2 nView - AMD Athlon 64 X2 4200+ EE - Corsair TWIN2X 1024-6400C4 EPP
Alan J è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 11:18   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Alan J Guarda i messaggi
che però nn mi restituisce le righe dove il campo data è vuoto!

Si può ovviare?
Basta che la condizione che hai già messo sia in OR con un'altra condizione che dica "prendi quelli senza data".
Se non c'è una data, suppongo che sia NULL, quindi credo che si possa aggiungere: OR data IS NULL
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 11:43   #3
Alan J
Member
 
L'Avatar di Alan J
 
Iscritto dal: Jul 2004
Città: Prov. Savona
Messaggi: 166
Quote:
Se non c'è una data, suppongo che sia NULL, quindi credo che si possa aggiungere: OR data IS NULL
si, è NULL, ma è un po' più complesso... mi spiego: mettiamo che sia
data1 < data2
a data1 corrisponde ord1, a data2, ord2 (quindi ord1 < ord2) la query dovrebbe restituire le righe tra ord1 e ord2, comprese quelle dove data = NULL.

scusa se ho spiegato male.
__________________
Abit NF-M2 nView - AMD Athlon 64 X2 4200+ EE - Corsair TWIN2X 1024-6400C4 EPP
Alan J è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 12:03   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Alan J Guarda i messaggi
si, è NULL, ma è un po' più complesso... mi spiego: mettiamo che sia
data1 < data2
Innanzitutto suppongo che questi data1 e data2 siano dei valori "costanti" che metti nella query, giusto?

Quote:
Originariamente inviato da Alan J Guarda i messaggi
si, è NULL, ma è un po' più complesso... mi spiego: a data1 corrisponde ord1, a data2, ord2 (quindi ord1 < ord2) la query dovrebbe restituire le righe tra ord1 e ord2, comprese quelle dove data = NULL.
Questo che stai dicendo è un caso particolare.
La query che hai fatto dice solo di prendere tutte le righe in cui il campo data è compreso tra due valori.
Che poi tutte le righe che hanno data1 <= data <= data2 siano anche, guarda caso, tra un certo ord1 e ord2 .... è un caso particolare.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 12:44   #5
Alan J
Member
 
L'Avatar di Alan J
 
Iscritto dal: Jul 2004
Città: Prov. Savona
Messaggi: 166
Quote:
Innanzitutto suppongo che questi data1 e data2 siano dei valori "costanti" che metti nella query, giusto?
cosa intendi con 'valori costanti'? nel caso della mia applicazione le date vengono date in input...

quello che mi serve è una cosa che prende le 2 date, data1 e data2, faccia la query:
SELECT * FROM tab WHERE data BETWEEN 'data1' AND 'data2'
dopodichè prenda il più piccolo ed il più grande dei valori ord restituiti e faccia una seconda query:
SELECT * FROM tab WHERE ord BETWEEN 'ord1' AND 'ord2'

Ma una cosa così si riesce a fare solo con SQL?
__________________
Abit NF-M2 nView - AMD Athlon 64 X2 4200+ EE - Corsair TWIN2X 1024-6400C4 EPP
Alan J è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 13:04   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Alan J Guarda i messaggi
cosa intendi con 'valori costanti'? nel caso della mia applicazione le date vengono date in input...
Sì ma suppongo che nella query saranno dei valori del tipo '20070227'. Che poi questi valori siano presi in input, cambia poco.

Quote:
Originariamente inviato da Alan J Guarda i messaggi
quello che mi serve è una cosa che prende le 2 date, data1 e data2, faccia la query:
SELECT * FROM tab WHERE data BETWEEN 'data1' AND 'data2'
dopodichè prenda il più piccolo ed il più grande dei valori ord restituiti e faccia una seconda query:
SELECT * FROM tab WHERE ord BETWEEN 'ord1' AND 'ord2'

Ma una cosa così si riesce a fare solo con SQL?
Sui database sono una schiappa, percui la butto lì:
Codice:
SELECT * FROM tab WHERE ord BETWEEN
  (SELECT MIN(ord) FROM tab WHERE data BETWEEN 'data1' AND 'data2')
AND
  (SELECT MAX(ord) FROM tab WHERE data BETWEEN 'data1' AND 'data2')
Non mi assumo responsabilità.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 13:53   #7
Alan J
Member
 
L'Avatar di Alan J
 
Iscritto dal: Jul 2004
Città: Prov. Savona
Messaggi: 166
Quote:
Non mi assumo responsabilità.
beh, è una app. didattica (per me), quindi non ti preoccupare...
provo e vedo.

per ora ti ringrazio.
__________________
Abit NF-M2 nView - AMD Athlon 64 X2 4200+ EE - Corsair TWIN2X 1024-6400C4 EPP
Alan J è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
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 ...
Cina, effetto sanzioni USA: Cambricon - ...
La gamma Mac riceverà tante novit...
DDR5 supera i 13.000 MT/s, stavolta uffi...
Il nuovo iPhone con display pieghevole p...
ASUS ProArt PA32KCX: ecco a voi il primo...
DAZN ci riprova: piano Full a meno di 20...
Nuovi prezzi, più bassi: scendono...
PC Desktop HP Victus con RTX 4060 e Ryze...
Giù di altri 10€: solo 939€ per M...
Offerte Amazon da non credere: sconti fo...
Windows 11 scivola sugli aggiornamenti d...
Razer Kiyo V2: la nuova webcam 4K con AI...
ASUS ROG NUC 9: i mini PC (ex) Intel, ad...
Streaming illegale, il ministro dello Sp...
Microsoft avrebbe affidato a Intel la pr...
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: 22:37.


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