Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-02-2002, 15:16   #1
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Caso misterioso su SQL devo fare un estrazione doppia con &

Dato questa tabella del database:

------------------------------------------------------
| id | codice_cliente | data_ordine | ordine
------------------------------------------------------
1 | xxx | 20020201 | eekjek
2 | xxx | 20010102 | erjkeki
3 | xxx | 20020103 | leklelgi
4 | yyy | 20020204 | lllmclgg
5 | yyy | 20010105 | lelemlo
6 | yyy | 20020106 | ekrllluu
7 | zzz | 20020207 | wlwmff
8 | zzz | 20010108 | wàòòfò
9 | zzz | 20020109 | òeòeee
------------------------------------------------------

quindi ho: x,y,z che sono 3 ditte differenti e ho 3 date differenti per ditta, e infine la cella "ordine" dove ho inserito frasi astratte per simulare un ordine.

Vogli fare questa query:

$sql = "select distinct codice_cliente from ordinazioni where codice_cliente";

Cioe', con questa query voglio ottenere:
una lista di codici_cliente che non ce ne siano piu' di uno per nome e questo lo faccio con "distinct", di seguito ad ogni nome voglio tutte le 3 date e i 3 ordini che lo seguono.

...ma cosi facendo non mi fa estrarre i campi "data" e "ordine"

ditemi come devo fare???
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2002, 16:11   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mmmmhh...mi fai vedere come deve apparire la tabella risultato della query che vuoi ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2002, 11:04   #3
madmax
Member
 
Iscritto dal: Oct 1999
Messaggi: 7
Beh, è ovvio. L'hai detto tu: metti distinct per avere una sola riga per ogni cliente. Quindi non puoi contemporaneamente avere 3 righe!
Eventualmente puoi mettere nella select, dopo il distinct, anche le altre colonne delle quali hai bisogno, come la data è la descrizione. Se non hai doppie date/descrizioni dovrebbe essere quello che vuoi, ma dovresti allegare anche un prototipo del risultato che chiedi, altrimenti è difficile capire!
ciao
madmax è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2002, 13:05   #4
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Quando si usa distinct non possiamo piu' estrarre altri campi al di fuori del campo che indica il distinct,vorrei sapere come fare per estrarre tutti i campi ma con distinct nel "codice_cliente" , chiaramente tramite una clausola while.
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2002, 15:11   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Prima fai :

Select distinct codice_cliente From tabella

Per ogni codice devi fare :

Select * From tabella Where codice_cliente = ..... (uno di quelli estratti sopra)

Anche se non capisco perchè vuoi farlo in due passaggi quando basta fare una query del genere per ottenerli in ordine (se è quello lo scopo)...

Select * From Tabella Order By codice_cliente Asc

Se il tuo scopo è un'altro allora non ho capito qual è...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2002, 17:11   #6
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Vi ridico quello che voglio ottenere:

1) Voglio ottenere una lista di "codice_cliente" che non si ripetano gli identici, e questo lo faccio con "distinct".

2) Poi se la data contenuta nella tabella e' superiore alla data di oggi, dovra visualizzare il "codice_cliente", altrimenti no.

ecco la mia query:

$data_oggi = "20020203";

$sql = "select distinct id_cliente from ordinazioni where id_cliente";
$query = mysql_query($sql, $link);
while($ris = mysql_fetch_array($query))
{
$data_ordine = $ris["data_ordine"];

if($data_ordine >= $data_oggi)
{
echo"$id_c <br>";
}
}

Ma il problema e' che avendo usato "distinct" nel campo "id_cliente", non posso estrarre il campo "data_ordine" per confrontarlo con la "data_oggi".

Mi sembra tutto chiaro...!!!
Come faccio per estrarre il campo "data_ordine" mantenendo la funzione di "distinct" ???
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2002, 01:02   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Oh...ora è tutto chiaro...

Select distinct codice_cliente
From Tabella
Where codice_cliente in
(Select codice_cliente
From Tabella
Where data_ordine > $data_ordine)

Ciao
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2002, 06:42   #8
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Ma mi da errore, argomento sql non valido!!!
Ma lo hai provato???
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2002, 10:00   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
No...
Azzo...è vero...MySql non supporta le query annidate...


E poi sono anche stupido...basta fare così...

Che testa...

Select distinct codice_cliente
From Tabella
Where data_ordine > $data_ordine
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2002, 12:46   #10
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
NO!
Fino a che usi "distinct" non potrai mai selezionare altri campi al di fuori di quello selezionato dal "distinct", mentre il mio problema lo ho risolto in questo modo:

$sql = "select * from ordinazioni where id_cliente group by id_cliente order by id_cliente asc";

Grazie comunque, ciao!
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2002, 13:43   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Nono...infatti la selezione avviene sul solo campo id_cliente, soltanto che puoi usare il where su qualsasi campo...
Il distinct fa non genera tuble (riche) doppie del risultato solo dopo che il risultato è stato generato...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
Paolo Zaccardi: "Smettere di assume...
Finalmente a buon prezzo 2 mini PC con R...
Samsung Galaxy Watch 7: uno crolla a 146...
NVIDIA pronta al 'piano B' per la Cina: ...
Xiaomi TV A Pro 55 a soli 366€: è...
No, i tuoi dati di Pokémon Go non sono f...
XBOX potrebbe diventare una societ&agrav...
Il primo trilionario al mondo ha un nome...
Infineon apre il 2 luglio lo Smart Power...
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: 10:28.


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