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

    Un Aiuto Su Sql Perfavore

    ho una tabella di un db access così fatta:
    qualifica1 | nazione1 | qualifica2 | nazione2 | .... | qualifica10 | nazione10 |
    più altri campi che non mi interessano

    lo so è fatta male ma non l'ho fatta io e non posso modificarla.
    devo fare una query sql che per ogni nazione mi estrae il numero di persone con una certa qualifica, il numero di persone con un altra qualifica e il totale.
    Cioè la tabella finale sarà per es:

    NAZIONE | nr ufficiali di macchina| nr ufficiali di coperta | nr sottoufficiali | ..... | totale |
    INDIA | 4 | 6 | 10 | ..... | 20 |
    .
    .
    Se le nazioni non si trovassero sullo stesso record con nomi diversi (nazione1, nazione2, etc) potrei utilizzare group by nazione ma in questo caso non lo posso fare....
    Mi aiutate?
    GRAZIE!!!
    Potete aiutarmi???

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Visto che sei nuovo è bene che ti legga il regolamento.
    Il titolo della discussione non è a norma.


    Comunque prova a cavartela così, vista la struttura oscena.

    codice:
    select nazione,
    sum(iif(qualifica="ufficiali di macchina",1,0)) as macchina, 
    sum(iif(qualifica="ufficiali di coperta ",1,0)) as coperta,
    sum(iif(qualifica="sottoufficiali",1,0)) as sottoufficiali,
    count(qualifica) as totale
    from (
    select nazione1 as nazione,qualifica1 as qualifica from qualifiche
    union all
    select nazione2,qualifica2 from qualifiche
    union all
    ......
    select nazione10,qualifica10 from qualifiche
    ) as t 
    where nazione <> "" and qualifica <> ""
    group by nazione
    Ovviamente nelle clausole sum metti i testi che devi ricercare.

  3. #3
    Originariamente inviato da nicola75ss
    Visto che sei nuovo è bene che ti legga il regolamento.
    Il titolo della discussione non è a norma.
    Come ti ha fatto notare nicola, il thread non è a norma. Dato che sei nuovi, per questa volta, sorvoliamo ma gentilmente indica la piattaforma del database con cui stai lavorando (mysql, pgsql, mssql, sqlite, db2, sybase, informix e via dicendo) cosi posso correggere il titolo.

    PS: leggi il regolamento che è importante ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.