Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Inner Join e nomi derivate

    Buonasera a tutti,
    ho un db ridotto semplicisticamente cosi:

    tabella agencies: idAgency, nomeAgency

    tabella customers: idCustomer, nameCustomer, idAgency

    Ovviamente la relazione tra agencies e customers è di uno a molti.

    Ora in un colpo solo vorrei tirar fuori nameAgency + totale di clienti della singola agenzia.

    Per la prima banalissima...

    codice:
    SELECT idAgency, nameAgency, dateAgency FROM agencies WHERE idAgency = 1
    La seconda da sola banalissima...

    codice:
    SELECT COUNT(idAgency) AS totalCustomersAgency FROM customers WHERE idAgency = 1
    Ho provato a fare una innerjoin ma senza alcun tipo di risultato. L'errore più "Umano" che ho ottentuo è che ogni singola derivata deve avere la propria derivata....

    codice:
    SELECT agencies.idAgency, nameAgency, dateAgency FROM agencies
    INNER JOIN 
    (SELECT COUNT(idAgency) FROM customers AS derivata ) ON agencies.idAgency = customers.idAgency)
    WHERE agencies.idAgency = 1
    Qualche santo guru mi aiuterebbe? Grazie mille!

  2. #2
    Una query del genere nn l'ho mai vista.....
    Se ho capito bene tu vorresti listare quanti costumers ci sono in ogni agenzia, se è cosi la query per farlo e questa :
    codice:
    SELECT A.idAgency, 
               A.nameAgency, 
               A.dateAgency,
               COUNT(C.idAgency) AS totalCustomersAgency
    FROM agencies A, customers C
    WHERE A.idAgency = C.idAgency
    GROUP BY A.idAgency;

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Grazie,
    perfetto e sembra funzionare!

    Ho modificato leggermente ancora cosi:

    codice:
    SELECT A.idAgency, 
               A.nameAgency, 
               A.dateAgency,
               COUNT(C.idAgency) AS totalCustomersAgency
    FROM agencies A, customers C
    WHERE (A.idAgency = C.idAgency) AND (A.idAgency = 36)
    GROUP BY A.idAgency
    Grazie mille!

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.