Query con criteri

di ligiem il
16 risposte
Ciao a tutti,
ho una tabella con campi ID, CodiceFamiglia, Sesso, Nome, Cognome, DataNascita, Residenza, ecc.
vorrei estrarre solo i maschi nati nell'anno (per esempio) 2010 ma che siano presenti in una famiglia con (per esempio) 4 componenti, quindi con il CodiceFamiglia che si ripeta 4 volte. La query per estrarre solo maschi nati nel 2010 so realizzarla, ma come ottenere il terzo criterio ??
Grazie

16 Risposte

  • ligiem ha scritto:


    ... come ottenere il terzo criterio ??
    Con un'altra query in cui fai il conteggio, attivando i raggruppamenti. Raggruppi per codice famiglia famiglia, fai il conteggio di codice famiglia, mettendo poi come condizione il fatto che questo conteggio sia del valore che ti interessa. Metti in relazione questa query con l'altra, in cui avevi impostato i criteri per trovare i maschi nati nel 2010
    Curiosità: come hai impostato il criterio della data di nascita?
  • Ciao Philcattivocarattere,
    intanto grazie, in tabella ho gg mm aaaa (separati) ho inserito anno = 2010.
    Intendi creare una seconda query clone della prima ?
  • ligiem ha scritto:


    Intendi creare una seconda query clone della prima ?
    No, una è una query di selezione senza funzioni di raggruppamento. L'altra ha le funzioni di raggruppamento per codice famiglia, con il conteggio di ogni codice famiglia (che ti dà il numero dei componenti) sul quale applicare il criterio, tipo uguale a 4 . E' facile, eh!

    ligiem ha scritto:


    intanto grazie, in tabella ho gg mm aaaa (separati) ho inserito anno = 2010.
    Ah, se l'anno è in un campo ad hoc non c'erano altre possibilità.
  • Non mandarmi a quel paese ... questo è l'SQL
    SELECT Popolazione_AZ.CodiceFamiglia, Popolazione_AZ.statocivile, Popolazione_AZ.sesso, Popolazione_AZ.cognome, Popolazione_AZ.nome, Popolazione_AZ.giorno, Popolazione_AZ.mese, Popolazione_AZ.anno, Popolazione_AZ.relazioneparentela, Popolazione_AZ.cittadinanza, Popolazione_AZ.natoa, Popolazione_AZ.provincia, Popolazione_AZ.stato, Popolazione_AZ.via, Popolazione_AZ.civico, Popolazione_AZ.interno, Popolazione_AZ.CF
    FROM Popolazione_AZ
    ORDER BY Popolazione_AZ.CodiceFamiglia;

    Con questa seleziono tutto, poi vorrei inserire il criterio famiglia con 4 componenti e poi il resto, cosa aggiungo ?
  • ligiem ha scritto:


    Non mandarmi a quel paese ... questo è l'SQL
    ...
    cosa aggiungo ?
    Te l'ho detto, non posso scrivertelo io, si tratterebbe di "pappa pronta".
    Hai mai usato le funzioni di raggruppamento sulle query? quelle che si attivano con il pulsante della sommatoria? Non ti servono tutti quei campi, solo 2.
  • Ho provato a inserire raggruppamento ma me lo fa su tutti i campi
  • ligiem ha scritto:


    Ho provato a inserire raggruppamento ma me lo fa su tutti i campi
    Perché li hai selezionati tutti! metti solo quelli che ti servono, te l'ho detto, Codice Famiglia, due volte, sul primo raggruppi, sul secondo conteggi.
  • Ok, non avevo inserito due volte il campo, ora ottengo raggruppamento sul primo e conteggio sul secondo. Non so dove inserire il criterio CodiceFamiglia = o > 4. In particolare in conteggio ho sempre 1
  • ligiem ha scritto:


    Non so dove inserire il criterio CodiceFamiglia = o > 4
    Cosa c'è di difficile? Hai visto il risultato della query con raggruppamento senza il criterio del numero dei componenti? Dove devi mettere il criterio del numero dei componenti?
    Prova, non ci sono tanti posti in cui scrivere, se non è qui è lì.
    Ah.... adesso vedo che compare una precisazione, che in conteggio hai sempre 1. C'è qualcosa che non va, ovviamente.
    Mostra la SQL di questa query con raggruppamento.
  • Le sto provando tutte, comunque ....

    SELECT Popolazione_AZ.CodiceFamiglia, Count(Popolazione_AZ.CodiceFamiglia) AS ConteggioDiCodiceFamiglia,
    FROM Popolazione_AZ
    GROUP BY Popolazione_AZ.CodiceFamiglia, Popolazione_AZ.statocivile,
    ORDER BY Popolazione_AZ.CodiceFamiglia;
  • ligiem ha scritto:


    Le sto provando tutte
    tranne quella giusta, evidentemente.
    SELECT... FROM Popolazione_AZ
    GROUP BY Popolazione_AZ.CodiceFamiglia, Popolazione_AZ.statocivile, 
    ...
    Perché c'è il raggruppamento per Popolazione_AZ.statocivile?
  • Lo mette su tutti i campi, siccome quello mi serve l'ho lasciato
  • Se tolgo tutto e tengo solo codicefamiglia poi non ho le anagrafiche
  • RISOLTO: Ho inserito i campi come suggerito da te poi cognome, nome, impostati a formula PRIMO e criterio 4 in conteggio.
    Grazie
Devi accedere o registrarti per scrivere nel forum
16 risposte