Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di ste250
    Registrato dal
    Nov 2002
    Messaggi
    17

    problema con select su 2 tabelle

    Ciao a tutti,
    non trovo un soluzione per risolvere una sql che estrae valori da 2 tabelle. La tabella "camere" elenca tutte le camere e le loro caratteristiche. La tabella "guasti" elenca tutti i guasti che si verificano nelle camere". Le tabelle sono separate perché vorrei tenere uno storico di tutti i guasti che si verificano mentre le camere sono sempre le stesse.
    Non riesco a trovare la sql corretta che esegua i seguenti comandi:
    - elencare tutte le camere
    - unire a questo elenco la somma dei guasti per ciascuna camera (non l'elenco)

    AL momento riesco solo ad elencare con questa sql

    sql = "SELECT * FROM camere as o LEFT JOIN guasti as c ON o.camera = c.camera_g ORDER BY camera ASC"

    che mi restituisce l'elenco completo delle camere con l'eventuale guasto. Il problema è che se ho due guasti nella stessa camera mi duplica la linea elencando entrambi i guasti. Io invece vorrei una riga per ciascuna camera con la somma dei guasti

    Grazie a chi vorrà aiutarmi!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova ad aggiungere un group sulla tabella guasti (per raggrupparli) ma ho qualche dubbio che funzioni, altrimenti prima segui la select camere e nel ciclo while fai una select che conta quanti guasti ci sono per quella camera.

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    se vuoi sapere quanti guasti per camera, count e group by

  4. #4
    Utente di HTML.it L'avatar di ste250
    Registrato dal
    Nov 2002
    Messaggi
    17
    Quote Originariamente inviata da optime Visualizza il messaggio
    se vuoi sapere quanti guasti per camera, count e group by
    Ciao, grazie per la dritta. Saresti così gentile da aiutarmi nella creazione della query?

  5. #5
    sql = "SELECT C.camera, COUNT(G.*) AS NumeroGuasti FROM camere C LEFT JOIN guasti G ON C.camera = G.camera_g GROUP BY C.camera"

  6. #6
    Utente di HTML.it L'avatar di ste250
    Registrato dal
    Nov 2002
    Messaggi
    17
    Quote Originariamente inviata da optime Visualizza il messaggio
    sql = "SELECT C.camera, COUNT(G.*) AS NumeroGuasti FROM camere C LEFT JOIN guasti G ON C.camera = G.camera_g GROUP BY C.camera"
    Grazie! Fa esattamente quello che mi aspettavo.

  7. #7

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 © 2025 vBulletin Solutions, Inc. All rights reserved.