[MySQL] ricerca per data...

ric

Nuovo Utente
20 Lug 2017
5
0
1
40
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.046
150
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
40
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
40
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.046
150
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
40
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.203
207
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
40
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.203
207
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 1
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
K form Inserimento record mysql PHP 2
P Mysql lento a cancellare MySQL 1
P Codifica caratteri speciali mysql php PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
W MySQL ciclo in SELECT MySQL 0
L Mysql gestionale multipiattaforma MySQL 0
W MySQL SELECT list dinamica MySQL 0
M utilizzo mysql in nodejs - crea createdAt e updateAt MySQL 1
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
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

Discussioni simili