|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[MySql]Trasferimento Vetture
Buongiorno a tutti
In un piccolo db che mi serve per gestire un parco auto, ho questo problema: Il trasferimento di un'autovettura da un'azienda ad un'altra. Inizialmente, mi sembrava una cosa banale, ma per le seguenti ragioni invece mi sono impappinato: ho la tabella delle anagrafiche: ID_veicolo, aziendaAppartenenza, produttore, modello, targa, annoImmatricolazione. Poi ho altre tabelle, per esempio quella dei rifornimenti: ID_rifornimento, ID_veicolo, dataRifornimento, litri, totaleEuro... Il problema che ho, è che quando trasferisco un veicolo dall'azienda A all'azienda B, devo poi poter tenere conto sia dei rifornimenti avvenuti mentre apparteneva ad A, sia dei rifornimenti mentre appartiene a B. Come potrei quindi pensare di definire la tabella dei trasferimenti? Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
uppettino ...
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Se inserisci anche una tabella Possesso
con PK= (ID_Veicolo, DataInizioValidita') e campi: DataFineValidita', ID_Azienda Allora potrai mettere in JOIN la tabella dei rifornimenti con questa (e con tutte le altre dove magari ti servira' risolvere questo problema), entrando sulla forchetta temporale. PS: DataFineValidita' viene messa spesso a NULL in tabelle come questa. Per esperienza temporale e' un po' di anni che uso efficientemente il valore MAXVALUE per le date invece che NULL in queste tabelle, questo per permettere una scrittura piu' semplice e piu' efficiente delle JOIN. Codice:
SELECT * FROM Rifornimento Rif JOIN Possesso Pos ON (Rif.dataRifornimento BETWEEN Pos.DataInizio AND Pos.DataFine)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:42.



















