Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Una ammiraglia elettrica, da sei o sette posti, con il comfort di viaggio come missione assoluta. Un'auto non per tutti, ma di cui ti innamori dopo pochi giorni, ecco com'è andata la nostra prova di lunga durata
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
Hyper Mini LED con 2.304 zone, DisplayPort 2.1 e Dual Mode: 5K a 165 Hz oppure QHD a 330 Hz: LG propone un monitor da gioco ma dalla buona versatilità creativa, con prestazioni interessanti e un listino di 1.220 euro. Peccato l'alimentatore ingombrante
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition porta la maglia iridata su uno smartphone accessibile: display Extreme AMOLED da 6,78 pollici a 144Hz, fotocamera Sony LYTIA 710 con moto ai, Snapdragon 7s Gen 3 abbinato a 8GB di RAM, batteria da 5200 mAh con ricarica TurboPower a 68W e certificazione IP68/IP69, il tutto in una veste PANTONE Silhouette con logo dorato a 24 carati, moto buds bass incluse in confezione e contenuti software dedicati ai Mondiali 2026
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


Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio Motorola edge 70 Fusion FIFA World Cup 26 Editio...
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
Proseguono le operazioni di ripristino d...
Il razzo spaziale NASA SLS e la capsula ...
Starship: il recupero di Ship 40 prosegu...
Prezzi iPhone 17 in aumento: gli ultimi ...
Edge segue Chrome: a rischio molte esten...
Studi su batteri e archaea: la vita sull...
Claude Code, le diverse sessioni ora par...
I sistemi di sicurezza attuali non basta...
iPhone, nuove indiscrezioni sul modello ...
Le iconiche Sony WH-1000XM4 stanno per t...
TV 55 pollici in offerta: Xiaomi 4K a 32...
Robot per le piscine in offerta su Amazo...
Nessun downgrade a Vera e Rubin Ultra, s...
Ho costruito un agente IA locale dentro ...
TOP 10 Amazon del weekend, si inizia col...
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: 03:18.


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