Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Select e Count insieme

  1. #1

    Select e Count insieme

    Ciao,

    ho questa semplice query:
    Codice PHP:
    SELECT p.*, pc.Nome as pc_Nomepc.Logo as pc_Logopc.Descrizione as pc_Descrizione
            FROM progetti p
            INNER JOIN progetti_committenti pc ON pc
    .idCommittente p.idCommittente

            ORDER BY p
    .idCommittente 
    Vorrei semplicemente aggiungere un campo chiamato Num_progetti che mi contiene il numero di progetti associati ai committenti_progetti.

    L'ho fatto spesso ma non mi ricordo più qual'era il metodo per fare tutto in una sola query (con le sottoquery ovviamente).

    Grazie!

  2. #2
    cosi' non funziona? o devi fare dei raggruppamenti?

    codice:
     SELECT p.*, pc.Nome as pc_Nome, pc.Logo as pc_Logo, pc.Descrizione as pc_Descrizione ,
    (select count(*) from progetti) as Num_progetti
            FROM progetti p 
            INNER JOIN progetti_committenti pc ON pc.idCommittente = p.idCommittente 
    
            ORDER BY p.idCommittente

    ciao
    danno

  3. #3
    Originariamente inviato da dannowonder
    cosi' non funziona? o devi fare dei raggruppamenti?
    Così mi tira già la lista, ma nella count ci va il numero totale dei progetti, e non mi cambia in base al numero di progetti della categoria.

  4. #4
    Tabella progetti
    idProgetto
    Nome
    idCommittente

    Tabella progetti_committenti
    idCommittente
    Nome


    Vorrei una semplice SELECT * FROM progetti, ma che mostri anche, per ogni progetto, il nome del committente e il numero di progetti assegnati a quest'ultimo.

    E' semplice, ma non riesco a ricordarmi come si fa!

  5. #5
    scusa, non avevo letto come volevi effettuare la selezione

    codice:
     SELECT p.*, pc.Nome as pc_Nome, pc.Logo as pc_Logo, pc.Descrizione as pc_Descrizione,
    (select count(*) from progetti as p1 where p1. idCommittente=p. idCommittente) as Num_progetti
            FROM progetti p 
            INNER JOIN progetti_committenti pc ON pc.idCommittente = p.idCommittente 
    
            ORDER BY p.idCommittente
    cosi'?

    ciao
    danno

  6. #6
    Ho un problema simile:
    o una tabella Paziente e una tabella Paziente_Visita; devo recuperare il codice del paziente (che è memorizzato in Paziente),altri 2 campi della tabella Paziente (per esempio Data_Operazione) e il numero delle visite (count di id_visita , presente in Paziente_Visita). Le tabelle sono in relazione con il campo id_paziente.



    Grazie


    ps: Paziente_Visita indica le visite post operazione


    Il mio DB è un SQLite.

  7. #7
    ecco cosa ho scritto come query (prendendo spunto dall'esempio)

    Codice PHP:
    SELECT p.*, (select count(*) from patient_visit as p1 where p1id_patient=pid_patient) as Num_Visite         
    FROM patient p         
    INNER JOIN patient_visit pc ON pc
    .id_patient p.id_patient         
    ORDER BY p
    .id_patient 
    Per comodità ho scritto p.* per prelevare tutti i valori dalla tabella Patient


    Ho il seguente errore:
    Codice PHP:
    SQL Errorno such columnp.id_patient  <SELECT p.*, (select count(*) from patient_visit as p1 where p1id_patient=pid_patient) as Num_Visite         FROM patient p         INNER JOIN patient_visit pc ON pc.id_patient p.id_patient         ORDER BY p.id_patient 
    Ovviamente il campo id_patient in Patient esiste (è la chiave primaria).

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.