[MySQL] ricerca per data...

ric

Nuovo Utente
20 Lug 2017
5
0
1
38
Buongiorno a tutti,
sono veramente all'inizio con mysql e non riesco a risolvere il seguente problema:

Ho 3 tabelle:

tbl_officina
->id_officina(chiaveprimaria)
->nome_officina
->ecc....

tbl_clienti
->id_cliente(chiaveprimaria)
->nome_cliente
->ecc....

tbl_storico_riparazioni
->id_officina
->id_cliente
->data_riparazione

Scrivere una query che per ogni cliente mi mostri -solamente- l'ultima riparazione effettuata e l'officina che ha effettuato la riparazione.

Come faccio?
grazie1000
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prima di procedere due osservazioni:
nella tabella tbl_storico_riparazioni ha messo un id_roarazione primarykey?
agli id primarykey è meglio dare l'autoincrement
 

ric

Nuovo Utente
20 Lug 2017
5
0
1
38
No, al momento nella tb_storico_riparazioni non ho impostato un campo id_riparazione come primarykey.
id_officina e id_clienti sono gia impostati come autoincrement
 

ric

Nuovo Utente
20 Lug 2017
5
0
1
38
OK inserisco il campo id_riparazioni nella tbl_storico_riparazioni .
Adesso le tabelle sono le seguenti:

tbl_officina
->id_officina(chiaveprimaria autoincrement)
->nome_officina
->ecc....

tbl_clienti
->id_cliente(chiaveprimaria autoincrement)
->nome_cliente
->ecc....

tbl_storico_riparazioni
->id_riparazione(chiaveprimaria autoincrement)
->id_officina
->id_cliente
->data_riparazione

e adesso?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ti schematizzo, immagino che tu utilizzi php
provala e sappimi dire
PHP:
<?php
//dati di connessione
//fai una query di join dando i vari alias
$qyery="SELECT
        r.data_riparazione as data, o.nome_officina as officina, c.nome_cliente as cliente
        FROM tbl_storico_riparazioni as r, tbl_officina as o, tbl_clienti as c
        ORDER BY r.data_riparazione DESC LIMIT 1";
$ris=mysqli_query($connessione, $qyery);
$riga=mysqli_fetch_assoc($ris);
echo "ultima riparazione in data ".$riga['data']." c/o ".$riga['officina']." cliente ".$riga['cliente'];
mysqli_close($ris);
?>

visto dopo: ok tabelle
 

ric

Nuovo Utente
20 Lug 2017
5
0
1
38
Grazie Borgo, sto testando la query direttamente in phpmyadmin e il risultato è che la query mostra un singolo record con il massimo di 'data_riparazione', invece io sto cercando di mostrare tutti i clienti con la loro ultima (e quindi max) 'data_riparazione' e quindi officina che ha effettuato la riparazione.
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
prova così, se per caso funziona,
PHP:
SELECT sr.id_officina, o.nome_officina, sr.id_cliente, c.nome_cliente, MAX(sr.data_riparazione) as data_riparazione
FROM tbl_storico_riparazioni sr
LEFT JOIN tbl_officina o on sr.id_officina = o.id_officina
LEFT JOIN tbl_clienti c on sr.id_cliente = c.id_cliente
GROUP BY sr.id_officina, o.nome_officina, sr.id_cliente, c.nome_cliente
 

ric

Nuovo Utente
20 Lug 2017
5
0
1
38
quasi.....viene visualizzato piu volte lo stesso cliente, con l'ultima data di riparazione, per ogni officina.
A questo punto io penso che dovrei prendere il max datariparazione relativo ad ogni cliente , idcliente e idofficina e metterli in una tabella, giusto? e come?
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
quasi.....viene visualizzato piu volte lo stesso cliente
giusto per essere certi che il risultato è corretto, questa è l'immagine della query eseguita .....

upload_2017-7-20_17-9-30.png
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Form per ricerca multipla in MYsql PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
L Ricerca valore mysql e incremento PHP 73
A [MySQL] Ricerca in PMA MySQL 0
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
gandalf1959 Estrazione di un singolo dato da una ricerca mysql PHP 1
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 0
J [MySQL] Ricerca in due tabelle MySQL 21
R Barra ricerca php e mysql PHP 0
R Ricerca Email in database mysql con php PHP 2
W Form di ricerca all'interno di un sito mysql PHP 1
G Visualizzazion modulo di ricerca in PHP e MySql PHP 0
F Ricerca avanzata PHP & MySQL PHP 4
W [Php - MySql] ricerca con form select diversi PHP 14
E ricerca dati nel DB mysql. PHP 16
M Errore in query mysql su ricerca record PHP 3
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
Z Controllo giorni MYSQL PHP 0
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
T differenza fra mysql xampp e un mysql server Database 0
R Importazione csv su mysql tramite array PHP 2
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
D problema php mysql PHP 1
D problema php mysql PHP 1
N Server mysql non raggiungibile da connessione esterna MySQL 1
B Crea pdf da tabella mysql "ultima riga modificata" MySQL 4
D evitare di inserirre duplicati in mysql PHP 4
L salvare codice html in mysql PHP 3
L Google chart php mysql PHP 2
S Gestire scelta dropdown con dati da Mysql PHP 2
K cron job mysql PHP 3
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
R Errore UPDATE tabella mysql PHP 1
R Caricamento immagine su cartella remota + mysql PHP 3
L Aiuto per programma web php/mySQL PHP 2
S Problema esportazione tabelle Mysql in Excel PHP 0
S Cancellare una riga MYSQL PHP 1
G database mysql contengono informazioni ? MySQL 0
G Testo in mysql format 3 MySQL 0

Discussioni simili