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

    SQL & Ireport ==> aiuto query

    Ciao a tutti ragazzi sto lavorando a un progetto dove devo creare delle tabelle a partire da un db relazionale, e ora mi sto scervellando in una query semplice ma che non mi da quello che voglio io.
    Vi metto il codice:
    codice:
    Select count(contatto.sesso),domanda.testo ad d,risposta.testo
    from .......
    where (contatto.sesso='M' or contatto.sesso='F')
    ..........
    ........
    group by domanda.testo,risposta.testo
    il codice al posto dei puntini non l ho messo solo perchè è tanto e poi perchè su quello non ho problemi.cmq così facendo ottengo si 2 risultati diversi, ma non riesco a distinguere il risultato da M o da F.
    Vi prego se sono stata poco chiara di dirmelo..
    aiutatemi please

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ammettendo che i contatti possano solo essere maschi o femmine (non vedo altre alternative ) la clausola WHERE è del tutto inutile.

    Tutto ciò che si deve fare per distinguere Maschi da Femmine è includere questa informazione nelle richieste (SELECT) e quindi nei raggruppamenti (GROUP BY).

    Quindi:
    codice:
    Select contatto.sesso, domanda.testo as d,risposta.testo, count(contatto.sesso)
    FROM .......
    ..........
    ........
    GROUP BY contatto.sesso, domanda.testo, risposta.testo
    Se il tuo intento, invece, è quello di distinguere su ciascuna riga il numero di risposte date dai maschi e quello delle femmine è un altro discorso..


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    è la seconda opzione che voglio, cioè distinguere su una riga le risposte date dai maschi da quelle delle femmine...puoi aiutarmi??

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ci sono due tecniche che si possono utilizzare.

    La prima, più breve, è quella di utilizzare delle viste (che altro non sono che query) apposite. Ciascuna vista fa vedere solo una parte dei ritultati (quindi o solo maschi o solo femmine), e tramite una query fatta sulle due viste si agganciano entrambi.

    Non sempre è possibile percorrere questa strada.

    Allora si deve utilizzare la tecnica della rinomina delle tabelle. Si referenzia due volte la stessa tabella con due nomi diversi e le si tratta come se fossero tabelle distinte, prendendo da ciascuna i dati di un solo genere (maschio o femmina).

    Però bisognerebbe vedere come sono legate queste informazioni, ovvero avere a disposizione struttura del tuo DB per capire come sono organizzati i dati.



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    caro lele ti ringrazio perkè mi stai rispondendo...
    cmq ho provato tutte e due le strade e per tante volte ma non arrivo alla conclusione..quello che tu mi consigli è correttissimo ma evidentemente in ireport ci sono delle restrizioni, infatti non riconosce ne le viste ne tantomeno mi permette di rinominare le tabelle e usarle separatamente..è un casino
    uffa :master: :master: :master:

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.