Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Estrazione da più tabelle

    E' da ore che ci sbatto la testa ma non sono riuscito a trovare una soluzione, ho una tabella chiamata apparati con i campi: id_apparato, seriale, modello e un'altra chiamata manutenzioni con i campi: id_apparato(chiave esterna), data_manutenzione, tecnico. Per ogni record della tabella apparati corrispondono + di 2 record nella tabella manutenzioni.

    Il risultato che vorrei ottenere se possibile è, che alla stampa di ogni record della tabella1 mi dica anche la data dell'ultima manutenzione effettuata su quell'apparato.

    Per esempio: il modello 557 ha avuto le seguenti manutenzioni, il 10/2/09, il 22/4/09 e il 3/5/09, il risultato dovrà essere: id_apparato: 1, seriale: 5570034, ultima manutenzione effettuata: 3/5/09.

    Non so se sono stato chiaro.

    Grazie,
    ciao.

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    il campo data_manutenzione di che tipo è?

  3. #3

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    bene, allora prova questa query
    codice:
     
    SELECT a.id_apparato, a.seriale, MAX(m.data_manutenzione) 
    FROM apparati as a 
       INNER JOIN manutenzioni as m 
       ON a.id_apparato=m.id_apparato 
    GROUP BY a.id_apparato

  5. #5
    Rieccomi qui con questo problema, purtroppo ho dovuto spostare tutto su DB PostgreSQL e la query che mi avevi sugerito funziona solo su mysql, su postgres mi da questo errore:

    Query failed: ERROR: column "t_apparati.ckin" must appear in the GROUP BY clause or be used in an aggregate function

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.