Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    Sono disperato ... SQL come farla? :(

    Chiedoa voi esperti perchè non so più come impostare questa query, è da 4 ore che provo con vani se non nulli risultati

    Ho due tabelle:

    TblContatti coi campi:
    - IDContatto
    - ID_TipoContatto
    - Nominativo
    - Ruolo
    - email

    TblContattiTipo coi campi:
    - IDTipoContatto
    - TipoContatto

    Vorrei fare in modo di poter avere come risultato qualcosa di questo tipo:

    TipoContatto -> una volta solo
    Nominativo, ruolo
    email
    (queste ultime due righe ripetute per quanti sono i record corrispondenti a quel tipocontatto)

    quindi .. per farvi capire meglio, se ho:

    TblContattiTipo
    ID = 1 | TipoContatto = A
    ID = 2 | TipoContatto = B
    ID = 3 | TipoContatto = C

    TblContatti
    ID = 1 | ID_TipoContatto = 1 | Nominativo = AAA | Ruolo = AAA | email = aaa
    ID = 2 | ID_TipoContatto = 1 | Nominativo = BBB | Ruolo = BBB | email = bbb
    ID = 3 | ID_TipoContatto = 1 | Nominativo = CCC | Ruolo = CCC | email = ccc
    ID = 4 | ID_TipoContatto = 1 | Nominativo = DDD | Ruolo = DDD | email = ddd
    ID = 5 | ID_TipoContatto = 2 | Nominativo = EEE | Ruolo = EEE | email = eee
    ID = 6 | ID_TipoContatto = 2 | Nominativo = FFF | Ruolo = FFF | email = fff
    ID = 7 | ID_TipoContatto = 3 | Nominativo = GGG | Ruolo = GGG | email = ggg

    mi venisse restituito qualcosa di questo tipo:

    A
    AAA, AAA
    mail: aaa
    BBB, BBB
    mail: bbb
    CCC, CCC
    mail: ccc
    DDD, DDD
    mail: ddd
    B
    EEE, eee
    mail: eee
    FFF, FFF
    mail: fff
    C
    GGG, GGG
    mail: ggg

    è possibile fare una query che dia questo risultato? e se si ... come cavolo si fa che le ho provate tutte?

    confido in voi

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Le query restituiscono sempre righe omogenee, cioè tutte con gli stessi campi. Quindi non puoi avere una riga solo con il tipo contatto.

    L'unica cosa che puoi fare è che:
    - ogni riga abbia il tipo contatto
    - le righe siano ordinate per tipo contatto e poi per nominativo
    - fai una variabile provvisoria che contenga una stringa vuota
    - fai un codice che scorra le righe e controlli che il tipo contatto sia diverso dal contenuto della variabile provvisoria. Se è diverso (all'inizio è diverso per forza, la variabile è vuota), scrivi una riga solo con il nuovo tipo contatto e lo stesso lo metti nella variabile provvisoria; poi passi al record successivo e ripeti il confronto tra tipo contatto e variabile provvisoria.

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.